Page MenuHomePhabricator

congzhe (Congzhe Cao)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 2 2020, 7:36 AM (125 w, 1 d)

Recent Activity

Wed, May 25

congzhe committed rG80ab16d0ed75: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the… (authored by congzhe).
[NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the…
Wed, May 25, 8:34 PM · Restricted Project, Restricted Project
congzhe closed D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.
Wed, May 25, 8:34 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added a comment to D124926: [LoopInterchange] New cost model for loop interchange.

For now we are failing one test case in LICM: Transforms/LICM/lnicm.ll. The reason is as follows. Looking at the source code:

Wed, May 25, 11:43 AM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.

@bmahjour I updated the patch to an NFC patch with test case updates only. I'd appreciate it if you could take a look :)

Wed, May 25, 9:01 AM · Restricted Project, Restricted Project, Restricted Project

Tue, May 24

congzhe added a comment to D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.

Hi Bardia @bmahjour, after some thoughts I think regarding this patch we would chase a longer-term solution. For now I think I could rework and change this patch (both title and content) to an NFC patch that only updates the test cases, i.e., from using CHECK to CHECK-NEXT, since we really want to make sure that the output is ordered and the order is correct. I'm wondering how you think about it?

Tue, May 24, 11:19 AM · Restricted Project, Restricted Project, Restricted Project
congzhe added a comment to D124926: [LoopInterchange] New cost model for loop interchange.

There's some changes to lit tests. Most of them are minor. One change that applies to all tests is that I changed the target triple from "x86_64" to "aarch64" and added "-mcpu=tsv110" in the RUN lines.

IIUC, this means that IndexInner = CostMap.find(InnerLoop)->second = IndexOuter = CostMap.find(OuterLoop)->second = 0 here, right?

Thanks for the comment!

Tue, May 24, 10:50 AM · Restricted Project, Restricted Project, Restricted Project

Fri, May 20

congzhe added a comment to D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 20, 2:26 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 20, 2:25 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 20, 2:09 PM · Restricted Project, Restricted Project, Restricted Project

Wed, May 18

congzhe added a comment to D124745: [Delinearization] Refactoring of fixed-size array delinearization.

@Meinersbur Hi Michael, I'm wondering if you have further comments? I'd appreciate it if you could let me know your thoughts on my most recent update.

Wed, May 18, 9:10 AM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D125805: [LoopInterchange] Support multi-level reduction loops.
Wed, May 18, 7:42 AM · Restricted Project, Restricted Project
congzhe updated the summary of D125805: [LoopInterchange] Support multi-level reduction loops.
Wed, May 18, 7:41 AM · Restricted Project, Restricted Project

Tue, May 17

congzhe updated the diff for D125805: [LoopInterchange] Support multi-level reduction loops.
Tue, May 17, 12:13 PM · Restricted Project, Restricted Project
congzhe requested review of D125805: [LoopInterchange] Support multi-level reduction loops.
Tue, May 17, 9:27 AM · Restricted Project, Restricted Project

Mon, May 16

congzhe added a comment to D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.

Although the problem reported in PR55233 is worsened by D123400, the underlying issue existed even before that (as illustrated by the example in PR55233), so this patch won't completely solve the overflow problem, although it would make it a bit less likely to occur. I think a proper solution to PR55233 would need to address the overflow problem itself (eg by increasing the range of values that the cost model can represent).

I had thought about this approach when working on D123400, and while I agree it will make the cost values smaller, I have some reservations about its accuracy.

One observation is that with this patch, the cost values for non-consecutive accesses in deep nests become smaller, but also their relative differences reduce as well. For example in single-store.ll, the cost difference between for.k and for.j is in the orders of magnitude, while the cost difference between for.j and for.i is much smaller. I worry that this dilution of cost difference might make it harder to find the right order in loop nests that contain multiple reference groups. I think this approach slightly diverges from the concepts presented in the paper, inasmuch as, the unit of measurement for the cost value is meant to be number of cache lines, but with the multiplication by the "depth" factor the value will no longer be estimating number of cache lines.

Mon, May 16, 1:08 PM · Restricted Project, Restricted Project, Restricted Project

Fri, May 13

congzhe updated the summary of D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 13, 6:14 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 13, 6:13 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 13, 6:03 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 13, 5:42 PM · Restricted Project, Restricted Project, Restricted Project
congzhe retitled D124926: [LoopInterchange] New cost model for loop interchange from [WIP][LoopInterchange] New cost model for loop interchange to [LoopInterchange] New cost model for loop interchange.
Fri, May 13, 5:42 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124926: [LoopInterchange] New cost model for loop interchange.
Fri, May 13, 5:04 PM · Restricted Project, Restricted Project, Restricted Project

Mon, May 9

congzhe added inline comments to D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Mon, May 9, 7:00 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124745: [Delinearization] Refactoring of fixed-size array delinearization.

Addressed reviewers' comments.

Mon, May 9, 7:00 PM · Restricted Project, Restricted Project, Restricted Project

Wed, May 4

congzhe updated the summary of D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.
Wed, May 4, 11:27 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.
Wed, May 4, 11:27 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.
Wed, May 4, 11:25 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.
Wed, May 4, 11:24 PM · Restricted Project, Restricted Project, Restricted Project
congzhe requested review of D124984: [NFC][LoopCacheAnalysis] Update test cases to make sure the outputs follow the right order.
Wed, May 4, 11:19 PM · Restricted Project, Restricted Project, Restricted Project
congzhe committed rG5e004fb78769: [LoopCacheAnalysis][NFC] Add a test case for improved loop cache analysis cost… (authored by congzhe).
[LoopCacheAnalysis][NFC] Add a test case for improved loop cache analysis cost…
Wed, May 4, 2:14 PM · Restricted Project, Restricted Project
congzhe closed D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Wed, May 4, 2:14 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added inline comments to D110973: [DA] Handle mismatching loop levels by considering them non-linear.
Wed, May 4, 12:29 PM · Restricted Project, Restricted Project
congzhe added inline comments to D110973: [DA] Handle mismatching loop levels by considering them non-linear.
Wed, May 4, 10:33 AM · Restricted Project, Restricted Project
congzhe added inline comments to D110973: [DA] Handle mismatching loop levels by considering them non-linear.
Wed, May 4, 10:24 AM · Restricted Project, Restricted Project
congzhe requested review of D124926: [LoopInterchange] New cost model for loop interchange.
Wed, May 4, 7:48 AM · Restricted Project, Restricted Project, Restricted Project

Tue, May 3

congzhe committed rG3a8266902b58: [SCEV] Removed an unnecessary assertion (authored by Yangguang Li <yangguang.li@huawei.com>).
[SCEV] Removed an unnecessary assertion
Tue, May 3, 2:27 PM · Restricted Project, Restricted Project
congzhe closed D122835: [SCEV] Removed an unnecessary assertion in SCEV..
Tue, May 3, 2:26 PM · Restricted Project, Restricted Project
congzhe updated the diff for D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.

Thanks for the comments, I've updated the patch accordingly.

Tue, May 3, 8:36 AM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.

@bmahjour Hi Bardia, I've updated this patch to a pure NFC patch with the motivating test case only. Looking forward to your comment :)

Tue, May 3, 6:58 AM · Restricted Project, Restricted Project, Restricted Project

Mon, May 2

congzhe added a comment to D123400: [LoopCacheAnalysis] Consider dimension depth of the subscript reference when calculating cost.

Sorry for the delay, as I didn't get a chance to commit this before I went on vacation.

I just noticed that after fixed-size delinearization commit went in, this patch needed to be re-based and new values needed to be generated for the newly added LoopnestFixedSize.ll. I also noticed that this test exposes an issue with the analysis producing large cost values that can overflow the underlying int64_t type. This problem is not specific to this patch, as described in https://github.com/llvm/llvm-project/issues/55233. I think the overflow problem should be dealt with as a separate issue and will add it to the agenda for the next LoopOptWG call. In the mean time I've changed LoopnestFixedSize.ll to use smaller trip counts. @congzhe please let me know if you are ok with this change. We should recreate a test with large sizes as part of fixing 55233.

Mon, May 2, 12:05 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added inline comments to D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Mon, May 2, 10:55 AM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124745: [Delinearization] Refactoring of fixed-size array delinearization.

Thanks for the comments, I've updated this patch accordingly.

Mon, May 2, 10:55 AM · Restricted Project, Restricted Project, Restricted Project

Sun, May 1

congzhe committed rG3d6fe7ace8b0: [LoopCacheAnalysis] Use stable_sort() to avoid non-deterministic print output (authored by congzhe).
[LoopCacheAnalysis] Use stable_sort() to avoid non-deterministic print output
Sun, May 1, 9:55 PM · Restricted Project, Restricted Project
congzhe closed D124725: [NFC][LoopCacheAnalysis] Use stable_sort() to avoid non-deterministic print output.
Sun, May 1, 9:55 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124725: [NFC][LoopCacheAnalysis] Use stable_sort() to avoid non-deterministic print output.

Addressed Florian's comment, will land it shortly.

Sun, May 1, 8:52 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Sun, May 1, 5:26 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Sun, May 1, 5:24 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Sun, May 1, 5:02 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Sun, May 1, 4:54 PM · Restricted Project, Restricted Project, Restricted Project
congzhe requested review of D124745: [Delinearization] Refactoring of fixed-size array delinearization.
Sun, May 1, 4:42 PM · Restricted Project, Restricted Project, Restricted Project

Sat, Apr 30

congzhe added a comment to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

The test case added here appears to sometimes fail due to output ordering differences. E.g. https://lab.llvm.org/buildbot/#/builders/16/builds/28225

That failure is blamed on my revert commit -- but in my local build, the test isn't failing. Perhaps there's some nondeterminism in processing order? I might switch these to CHECK-DAG, though I don't know if that's just covering up some other underlying bug...

Thanks James, I've noticed that as well - In my local build it does pass. But I should have used CHECK-DAG. Let me commit a small patch that does this.

Fixed in https://github.com/llvm/llvm-project/commit/97b8a54b25f326cac8324e0ee3adde271799951c

CHECK-DAG works around the non-determinism. The analysis should probably be fixed to print results in a deterministic fashion.

Sat, Apr 30, 7:49 PM · Restricted Project, Restricted Project, Restricted Project
congzhe requested review of D124725: [NFC][LoopCacheAnalysis] Use stable_sort() to avoid non-deterministic print output.
Sat, Apr 30, 7:47 PM · Restricted Project, Restricted Project, Restricted Project

Fri, Apr 29

congzhe added a comment to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

The test case added here appears to sometimes fail due to output ordering differences. E.g. https://lab.llvm.org/buildbot/#/builders/16/builds/28225

That failure is blamed on my revert commit -- but in my local build, the test isn't failing. Perhaps there's some nondeterminism in processing order? I might switch these to CHECK-DAG, though I don't know if that's just covering up some other underlying bug...

Thanks James, I've noticed that as well - In my local build it does pass. But I should have used CHECK-DAG. Let me commit a small patch that does this.

Fri, Apr 29, 3:59 PM · Restricted Project, Restricted Project, Restricted Project
congzhe committed rG97b8a54b25f3: [LoopCacheAnalysis] Minor test case update (authored by congzhe).
[LoopCacheAnalysis] Minor test case update
Fri, Apr 29, 3:47 PM · Restricted Project, Restricted Project
congzhe added a comment to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

The test case added here appears to sometimes fail due to output ordering differences. E.g. https://lab.llvm.org/buildbot/#/builders/16/builds/28225

That failure is blamed on my revert commit -- but in my local build, the test isn't failing. Perhaps there's some nondeterminism in processing order? I might switch these to CHECK-DAG, though I don't know if that's just covering up some other underlying bug...

Fri, Apr 29, 3:13 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added a comment to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

Landed this patch, will work on the refactoring in the next patch.

Fri, Apr 29, 1:23 PM · Restricted Project, Restricted Project, Restricted Project
congzhe committed rGc428a3d2a09e: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays (authored by congzhe).
[LoopCacheAnalysis] Enable delinearization of fixed sized arrays
Fri, Apr 29, 1:19 PM · Restricted Project, Restricted Project
congzhe closed D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Fri, Apr 29, 1:19 PM · Restricted Project, Restricted Project, Restricted Project

Apr 22 2022

congzhe added a comment to D123400: [LoopCacheAnalysis] Consider dimension depth of the subscript reference when calculating cost.

Hi Bardia @bmahjour , my apologies that I did not clearly remember the discussion during the loopopt meeting -- was it like you would like me to commit this patch for you, or was it like you would like me to keep an eye on it after you commit it?

Apr 22 2022, 12:56 PM · Restricted Project, Restricted Project, Restricted Project

Apr 21 2022

congzhe 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?

I would not block this based only on a possible future development, taking into account that there are already uses of getIndexExpressionsFromGEP (e.g. by DA) and there is a possible workaround.

Apr 21 2022, 12:24 PM · Restricted Project, Restricted Project, Restricted Project
congzhe 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 21 2022, 8:52 AM · Restricted Project, Restricted Project, Restricted Project
congzhe 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".

DependenceInfo::depends should actually call getSCEVAtScope instead of just getScev (like tryDelinearize already does), because if ScalarEvolution can understand the backedge taken count, the SCEVAddRecExpr will be simplified to that result.

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

Apr 20 2022

congzhe added inline comments to D110972: [DA] Handle mismatching loop levels by updating the numbering scheme.
Apr 20 2022, 12:43 PM · Restricted Project, Restricted Project

Apr 19 2022

congzhe added a comment to D123400: [LoopCacheAnalysis] Consider dimension depth of the subscript reference when calculating cost.

The current loop cache analysis outputs the loops in the correct order by luck (because it maintains the original breath-first order and that order just happens to be the optimal order), but it outputs the same cost value for the two outer loops, which is the root problem! By ensuring that the correct and distinguishable cost is associated with each loop we also ensure that the optimal order is maintained. I do see your point in wanting to make sure that the sort order is correct, but if that's the case we probably want to use CHECK-NEXT instead of CHECK-DAG for your test.

Apr 19 2022, 7:32 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added a comment to D123400: [LoopCacheAnalysis] Consider dimension depth of the subscript reference when calculating cost.

What I did is to take the stride into account as a second component, and for each loop take the maximum stride of all reference groups to get the final stride, which presumably could resolve the motivating problem too.

Treating stride as a secondary component is what I respectfully objected to, and explained earlier. Not sure if taking the maximum stride would give us what we need. For example consider

for (i)
  for (j)
    for (k)
       ... A[i][j][k]
       ... B[i][k][j]
       ... C[i][k][j]

the maximum stride will be the same for both i-j-k and i-k-j configurations (despite the second one being more profitable) bringing us back to the original problem.

Apr 19 2022, 9:46 AM · Restricted Project, Restricted Project, Restricted Project

Apr 13 2022

congzhe added inline comments to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Apr 13 2022, 8:15 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added inline comments to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Apr 13 2022, 8:11 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.

Addressed comments from Michael @Meinersbur and Bardia @bmahjour.

Apr 13 2022, 8:07 PM · Restricted Project, Restricted Project, Restricted Project
congzhe committed rG557b131c885b: [DA] Refactor with a better API (authored by congzhe).
[DA] Refactor with a better API
Apr 13 2022, 11:53 AM · Restricted Project, Restricted Project
congzhe closed D123559: [DA] Refactor with a better API.
Apr 13 2022, 11:52 AM · Restricted Project, Restricted Project, Restricted Project

Apr 12 2022

congzhe accepted D123400: [LoopCacheAnalysis] Consider dimension depth of the subscript reference when calculating cost.
  1. Boiling down various parameters to one final "cost" value has a disadvantage. In fact we discussed this with @congzhe as the first solution, but we discarded it because essentially you lose some informaiton when you boil everything down to one number. The reason that Congzhe decided to go with a two component cost was that extra detail, carries more useful information and helps to make more accurate decision. Now this was a theoretical concern and I am not sure if in practice it holds or not. But that is the background on congzhe's work.

The cost returned by the analysis must consider the impact of outer dimension strides incurred by each reference group, otherwise it will not be accurate. If, for whatever reason, we need extra details in future we could provide extra interfaces to the analysis to query those details.

  1. Wouldn't it be more appropriate to continue discussion on congzhe's patch rather than posting a parallel patch to address the same problem? I think that will be more constructive given congzhe has already identified the problem, investigated some solutions and developed a patch? I suggest we continue the discussion, as review comments on his patch. Once there is an agreement on the cost function, Congzhe can update the patch (assuming it is needed) to reflect the agreed upon solution.

I explained my reasoning for needing a different approach in D122776. I just figured it would be a lot easier to show what I mean by posting a new patch instead of trying to describe it as a change request on top of D122776. I'm happy to continue further discussion on this wherever seems more appropriate to you or other reviewers.

Apr 12 2022, 5:59 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D123559: [DA] Refactor with a better API.
Apr 12 2022, 4:09 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D123559: [DA] Refactor with a better API.

Thanks for the comments! I modified the wording a bit for the title and summary, addressed the comment from Michael @Meinersbur and added test cases correspondingly, thus addressed the comment from @fhahn.

Apr 12 2022, 4:06 PM · Restricted Project, Restricted Project, Restricted Project

Apr 11 2022

congzhe requested review of D123559: [DA] Refactor with a better API.
Apr 11 2022, 6:09 PM · Restricted Project, Restricted Project, Restricted Project

Apr 7 2022

congzhe added inline comments to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Apr 7 2022, 2:37 PM · Restricted Project, Restricted Project, Restricted Project

Apr 6 2022

congzhe committed rGeac348751098: [LoopInterchange] Try to achieve the most optimal access pattern after… (authored by congzhe).
[LoopInterchange] Try to achieve the most optimal access pattern after…
Apr 6 2022, 12:32 PM · Restricted Project, Restricted Project
congzhe closed D120386: [LoopInterchange] Try to achieve the most optimal access pattern after interchange.
Apr 6 2022, 12:32 PM · Restricted Project, Restricted Project
congzhe updated the diff for D120386: [LoopInterchange] Try to achieve the most optimal access pattern after interchange.

Minor update to address the last comment, I'll land it shortly.

Apr 6 2022, 12:09 PM · Restricted Project, Restricted Project
congzhe added inline comments to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Apr 6 2022, 11:33 AM · Restricted Project, Restricted Project, Restricted Project
congzhe added inline comments to D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Apr 6 2022, 7:42 AM · Restricted Project, Restricted Project, Restricted Project

Apr 1 2022

congzhe updated the diff for D120386: [LoopInterchange] Try to achieve the most optimal access pattern after interchange.
Apr 1 2022, 1:19 PM · Restricted Project, Restricted Project
congzhe added a comment to D120386: [LoopInterchange] Try to achieve the most optimal access pattern after interchange.

Thanks a lot for the comments @Meinersbur! I've updated the patch accordingly.

Apr 1 2022, 1:12 PM · Restricted Project, Restricted Project
congzhe updated the diff for D120386: [LoopInterchange] Try to achieve the most optimal access pattern after interchange.
Apr 1 2022, 1:03 PM · Restricted Project, Restricted Project

Mar 31 2022

congzhe updated the summary of D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Mar 31 2022, 7:39 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Mar 31 2022, 7:39 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Mar 31 2022, 7:32 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the diff for D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Mar 31 2022, 7:29 PM · Restricted Project, Restricted Project, Restricted Project
congzhe requested review of D122857: [LoopCacheAnalysis] Enable delinearization of fixed sized arrays.
Mar 31 2022, 7:01 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added a project to D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation: Restricted Project.
Mar 31 2022, 1:57 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Mar 31 2022, 1:42 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122835: [SCEV] Removed an unnecessary assertion in SCEV..
Mar 31 2022, 11:33 AM · Restricted Project, Restricted Project

Mar 30 2022

congzhe updated the summary of D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Mar 30 2022, 7:31 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Mar 30 2022, 7:13 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Mar 30 2022, 7:05 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Mar 30 2022, 6:57 PM · Restricted Project, Restricted Project, Restricted Project
congzhe updated the summary of D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Mar 30 2022, 6:57 PM · Restricted Project, Restricted Project, Restricted Project
congzhe retitled D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation from [LoopCacheAnalysis] Improve loop cache analysis results by taking strides into consideration to [LoopCacheAnalysis] Improve loop cache analysis results by taking memory access strides into consideration.
Mar 30 2022, 6:56 PM · Restricted Project, Restricted Project, Restricted Project
congzhe requested review of D122776: [NFC][LoopCacheAnalysis] Add a motivating test case for improved loop cache analysis cost calculation.
Mar 30 2022, 6:39 PM · Restricted Project, Restricted Project, Restricted Project

Mar 9 2022

congzhe committed rGabc8ca65c3de: [LoopInterchange] Detect output dependency of a store instruction with itself (authored by congzhe).
[LoopInterchange] Detect output dependency of a store instruction with itself
Mar 9 2022, 12:57 PM · Restricted Project
congzhe closed D118102: [LoopInterchange] Detect output dependency of a store instruction with itself.
Mar 9 2022, 12:56 PM · Restricted Project, Restricted Project, Restricted Project
congzhe added a comment to D118102: [LoopInterchange] Detect output dependency of a store instruction with itself.

With the recent updates we are no longer losing test coverage. Per discussion in the Loop Opt WG call, I'll approve to get this in as a small incremental improvement. I'll look into https://github.com/llvm/llvm-project/issues/54176 and follow up with more patches.

Mar 9 2022, 9:10 AM · Restricted Project, Restricted Project, Restricted Project