Page MenuHomePhabricator

Whitney (Whitney Tsang)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 29 2019, 6:22 PM (103 w, 2 h)

Recent Activity

Thu, Jan 14

Whitney added inline comments to D94717: [LoopNest] Consider loop nest with inner loop guard using outer loop induction variable to be perfect .
Thu, Jan 14, 2:00 PM · Restricted Project

Tue, Jan 12

Whitney added a reviewer for D94543: [DAGCombine] Optimize pow(X, (2/3)) and Pow(X,(3/2)): masoud.ataei.
Tue, Jan 12, 1:04 PM · Restricted Project

Wed, Jan 6

Whitney added inline comments to D94176: [SplitEdge] Add new parameter to SplitEdge to name the newly created basic block.
Wed, Jan 6, 7:03 AM · Restricted Project

Tue, Jan 5

Whitney committed rG314ccc00139a: [LoopNest] Remove unused include. (authored by Whitney).
[LoopNest] Remove unused include.
Tue, Jan 5, 12:06 PM
Whitney added inline comments to D93665: [LoopNest] Allow empty basic blocks without loops.
Tue, Jan 5, 12:03 PM · Restricted Project
Whitney added inline comments to D93665: [LoopNest] Allow empty basic blocks without loops.
Tue, Jan 5, 12:00 PM · Restricted Project
Whitney committed rG601636de9806: [LoopNest] Allow empty basic blocks without loops (authored by Whitney).
[LoopNest] Allow empty basic blocks without loops
Tue, Jan 5, 10:45 AM
Whitney committed rGc00551893674: [LoopNest] Allow empty basic blocks without loops (authored by Whitney).
[LoopNest] Allow empty basic blocks without loops
Tue, Jan 5, 7:10 AM
Whitney closed D93665: [LoopNest] Allow empty basic blocks without loops.
Tue, Jan 5, 7:10 AM · Restricted Project

Mon, Jan 4

Whitney updated the diff for D93665: [LoopNest] Allow empty basic blocks without loops.

Fix BUILD_SHARED_LIBS build failure.

Mon, Jan 4, 4:00 PM · Restricted Project
Whitney reopened D93665: [LoopNest] Allow empty basic blocks without loops.

Reverted, due to http://lab.llvm.org:8011/#/builders/112/builds/2681

Mon, Jan 4, 12:43 PM · Restricted Project
Whitney added a reverting change for rG9a17bff4f715: [LoopNest] Allow empty basic blocks without loops: rGde6d43f16cba: Revert "[LoopNest] Allow empty basic blocks without loops".
Mon, Jan 4, 12:43 PM
Whitney committed rGde6d43f16cba: Revert "[LoopNest] Allow empty basic blocks without loops" (authored by Whitney).
Revert "[LoopNest] Allow empty basic blocks without loops"
Mon, Jan 4, 12:43 PM
Whitney added a reverting change for D93665: [LoopNest] Allow empty basic blocks without loops: rGde6d43f16cba: Revert "[LoopNest] Allow empty basic blocks without loops".
Mon, Jan 4, 12:42 PM · Restricted Project
Whitney committed rG9a17bff4f715: [LoopNest] Allow empty basic blocks without loops (authored by Whitney).
[LoopNest] Allow empty basic blocks without loops
Mon, Jan 4, 12:00 PM
Whitney closed D93665: [LoopNest] Allow empty basic blocks without loops.
Mon, Jan 4, 12:00 PM · Restricted Project
Whitney updated the diff for D93665: [LoopNest] Allow empty basic blocks without loops.

Added comment to clarify Visited.

Mon, Jan 4, 10:47 AM · Restricted Project
Whitney added a comment to D93665: [LoopNest] Allow empty basic blocks without loops.

ping

Mon, Jan 4, 6:49 AM · Restricted Project

Tue, Dec 22

Whitney updated the diff for D93665: [LoopNest] Allow empty basic blocks without loops.

Allow empty blocks between inner loop guard successor to inner loop preheader or inner loop guard successor the outer loop latch.

Tue, Dec 22, 7:42 PM · Restricted Project
Whitney added a comment to D93665: [LoopNest] Allow empty basic blocks without loops.

Alternatively, we could rely on SimplifyCFG to remote such empty BBs?

Tue, Dec 22, 3:26 PM · Restricted Project
Whitney updated the diff for D93665: [LoopNest] Allow empty basic blocks without loops.
  • Addressed review comments
  • Moved skipEmptyBlockUntil to BasicBlockUtils, because it is not specific to loop nest.
Tue, Dec 22, 3:26 PM · Restricted Project

Mon, Dec 21

Whitney requested review of D93665: [LoopNest] Allow empty basic blocks without loops.
Mon, Dec 21, 2:00 PM · Restricted Project

Dec 18 2020

Whitney committed rG2a814cd9e1e8: Ensure SplitEdge to return the new block between the two given blocks (authored by Whitney).
Ensure SplitEdge to return the new block between the two given blocks
Dec 18 2020, 9:37 AM
Whitney added a comment to D87531: [LoopNest] Extend `LPMUpdater` and adaptor to handle loop-nest passes.

Since D87045 has been landed, is there any objection against committing this patch as well?

Dec 18 2020, 7:50 AM · Restricted Project

Dec 17 2020

Whitney added a reverting change for rGd20e0c3444ad: Ensure SplitEdge to return the new block between the two given blocks: rG511cfe944195: Revert "Ensure SplitEdge to return the new block between the two given blocks".
Dec 17 2020, 1:01 PM
Whitney committed rG511cfe944195: Revert "Ensure SplitEdge to return the new block between the two given blocks" (authored by kobeliu85).
Revert "Ensure SplitEdge to return the new block between the two given blocks"
Dec 17 2020, 1:01 PM
Whitney committed rGd20e0c3444ad: Ensure SplitEdge to return the new block between the two given blocks (authored by kobeliu85).
Ensure SplitEdge to return the new block between the two given blocks
Dec 17 2020, 8:00 AM

Dec 16 2020

Whitney added a comment to D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.

opps...forgot to deliver with --author="Ta-Wei Tu <tu.da.wei@gmail.com>.

Dec 16 2020, 9:22 AM · Restricted Project
Whitney committed rGfa3693ad0b34: [LoopNest] Handle loop-nest passes in LoopPassManager (authored by Whitney).
[LoopNest] Handle loop-nest passes in LoopPassManager
Dec 16 2020, 9:07 AM
Whitney closed D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.
Dec 16 2020, 9:07 AM · Restricted Project
Whitney added a reverting change for rGcf638d793c48: Ensure SplitEdge to return the new block between the two given blocks: rGc10757200d89: Revert "Ensure SplitEdge to return the new block between the two given blocks".
Dec 16 2020, 3:53 AM
Whitney committed rGc10757200d89: Revert "Ensure SplitEdge to return the new block between the two given blocks" (authored by kobeliu85).
Revert "Ensure SplitEdge to return the new block between the two given blocks"
Dec 16 2020, 3:53 AM

Dec 15 2020

Whitney committed rGcf638d793c48: Ensure SplitEdge to return the new block between the two given blocks (authored by kobeliu85).
Ensure SplitEdge to return the new block between the two given blocks
Dec 15 2020, 3:33 PM

Dec 14 2020

Whitney added a comment to D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.

If there's no objection about these patches I'll commit them in a few days.

Dec 14 2020, 1:33 PM · Restricted Project

Dec 1 2020

Whitney added inline comments to D91481: [LoopUnroll] Discount uniform instructions in cost models.
Dec 1 2020, 9:24 AM · Restricted Project
Whitney added inline comments to D91481: [LoopUnroll] Discount uniform instructions in cost models.
Dec 1 2020, 5:12 AM · Restricted Project
Whitney added inline comments to D91682: [LoopInterchange] Fix the checking of tightly nested loop.
Dec 1 2020, 4:55 AM · Restricted Project

Nov 18 2020

Whitney accepted D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.
Nov 18 2020, 11:59 AM · Restricted Project
Whitney added inline comments to D91682: [LoopInterchange] Fix the checking of tightly nested loop.
Nov 18 2020, 11:55 AM · Restricted Project

Nov 10 2020

Whitney added a comment to rG2f1038c7b699: [BranchProbabilityInfo] Use SmallVector (NFC).

There are new assertions with this commit.

opt: llvm/lib/Analysis/BranchProbabilityInfo.cpp:1123: llvm::BranchProbability llvm::BranchProbabilityInfo::getEdgeProbability(const llvm::BasicBlock *, const llvm::BasicBlock *) const: Assertion `SrcProbs.size() == Src->getTerminator()->getNumSuccessors() && "The number of edge probabilities must match the number of " "successors."' failed.
Nov 10 2020, 5:27 PM

Oct 30 2020

Whitney added a comment to D89911: [PartialInliner]: Handle code regions in a switch stmt cases.

LGTM. I will approve tomorrow if no one object..

Oct 30 2020, 9:07 AM · Restricted Project

Oct 21 2020

Whitney added inline comments to D89911: [PartialInliner]: Handle code regions in a switch stmt cases.
Oct 21 2020, 4:16 PM · Restricted Project

Oct 13 2020

Whitney added a comment to D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.

Hi @Whitney, @ychen, if the patches are ready to land, could you do me a favor of committing this as well as the follow-up D87531 (with --author="Ta-Wei Tu <tu.da.wei@gmail.com>)?
Thanks in advance!

Oct 13 2020, 12:17 PM · Restricted Project

Sep 30 2020

Whitney accepted D88608: [compiler-rt][cmake][powerpc] Remove TEST_BIG_ENDIAN from base-config-ix.cmake.
Sep 30 2020, 1:52 PM · Restricted Project

Sep 29 2020

Whitney accepted D88408: [docs] Revise loop terminology reference..

Thanks for writing this up.

Sep 29 2020, 9:35 AM · Restricted Project
Whitney accepted D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.

Thanks for working on it! Are you planning to change one of the LoopPass to a LoopNestPass next?

Sep 29 2020, 9:20 AM · Restricted Project

Sep 17 2020

Whitney added inline comments to D87786: [LoopUnrollAndJam] Allow unroll and jam loops forced by user..
Sep 17 2020, 12:42 PM · Restricted Project
Whitney committed rG1cee33e9dbb6: [LoopUnrollAndJam] Allow unroll and jam loops forced by user. (authored by Whitney).
[LoopUnrollAndJam] Allow unroll and jam loops forced by user.
Sep 17 2020, 12:41 PM
Whitney closed D87786: [LoopUnrollAndJam] Allow unroll and jam loops forced by user..
Sep 17 2020, 12:40 PM · Restricted Project
Whitney updated the diff for D87786: [LoopUnrollAndJam] Allow unroll and jam loops forced by user..
Sep 17 2020, 7:31 AM · Restricted Project

Sep 16 2020

Whitney added a comment to D87786: [LoopUnrollAndJam] Allow unroll and jam loops forced by user..

Why is this specific to the PowerPC-backend. Doesn't the LoopUnrollAndJamPass pick-up the transformation metadata already?

Sep 16 2020, 6:36 PM · Restricted Project
Whitney requested review of D87786: [LoopUnrollAndJam] Allow unroll and jam loops forced by user..
Sep 16 2020, 12:13 PM · Restricted Project

Sep 15 2020

Whitney added a comment to D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.
  • How about using PreservedAnalyses run(Loop &, LoopAnalysisManager &, LoopStandardAnalysisResults &, LPMUpdater &, LoopNest &); for the interface. I think it should work better because it is still a loop pass interface.

Sounds like a good idea to me. Let' see what @Whitney and @etiotto think about the new interface first, and I'll update the patch later if they agree on that. Thanks!

Sep 15 2020, 6:45 AM · Restricted Project
Whitney added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Sep 15 2020, 5:39 AM · Restricted Project
Whitney accepted D87531: [LoopNest] Extend `LPMUpdater` and adaptor to handle loop-nest passes.

LGTM.

Sep 15 2020, 5:29 AM · Restricted Project

Sep 12 2020

Whitney added a comment to rGfb109c42d91c: [DSE] Switch to MemorySSA-backed DSE by default..

Thanks for the prompt fix! I have verified it fixes our original issue.

Sep 12 2020, 5:34 PM

Sep 11 2020

Whitney added a comment to rGfb109c42d91c: [DSE] Switch to MemorySSA-backed DSE by default..

@fhahn Looks like there is an issue with handling loop-carried dependency.

Sep 11 2020, 6:08 PM

Sep 10 2020

Whitney added inline comments to D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.
Sep 10 2020, 7:02 AM · Restricted Project

Sep 9 2020

Whitney added inline comments to D87045: [LoopNest] Handle loop-nest passes in LoopPassManager.
Sep 9 2020, 10:50 AM · Restricted Project

Sep 1 2020

Whitney added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Sep 1 2020, 11:54 AM · Restricted Project

Aug 25 2020

Whitney committed rGabbd652dd6db: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops (authored by TaWeiTu).
[LoopNest] False negative of `arePerfectlyNested` with LCSSA loops
Aug 25 2020, 9:21 AM
Whitney closed D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.
Aug 25 2020, 9:21 AM · Restricted Project
Whitney added a comment to D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.

Hi @etiotto, @Whitney thanks for your reviews!
Can you commit this for me? --author="Ta-Wei Tu <tu.da.wei@gmail.com>" as mentioned above looks good to me, thanks!

Aug 25 2020, 8:57 AM · Restricted Project

Aug 19 2020

Whitney added a comment to D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.

Hi @Whitney, @fhahn, thanks for your review and comment!
Please let me know if there's any other problem with the patch.
Also, if the patch is ready to land, is it possible for you to commit it instead (I believe I don't have the commit access)?

Aug 19 2020, 4:58 PM · Restricted Project
Whitney accepted D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.
Aug 19 2020, 7:05 AM · Restricted Project
Whitney added a comment to D84886: Create LoopNestPass.

I was trying to convert the LoopInterchange pass into a loop-nest pass. However, there seems to be no corresponding loop pass for the NPM.
Any particular reason for this?

Aug 19 2020, 6:59 AM · Restricted Project, Restricted Project

Aug 18 2020

Whitney added inline comments to D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.
Aug 18 2020, 12:07 PM · Restricted Project
Whitney added inline comments to D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.
Aug 18 2020, 8:22 AM · Restricted Project
Whitney added a reviewer for D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops: etiotto.
Aug 18 2020, 5:12 AM · Restricted Project
Whitney added a comment to D86133: [LoopNest] False negative of `arePerfectlyNested` with LCSSA loops.

arePerfectlyNested is written very conservative to start with, this patch allows loop nests with PHINodes in between to be considered perfect.

Aug 18 2020, 5:12 AM · Restricted Project

Aug 12 2020

Whitney added a comment to D84886: Create LoopNestPass.

Examples of existing transformations that can be benefited from LoopNestPass: LoopInterchange, LoopUnrollAndJam, LoopIdiom, LoopDistribution, ...
And their corresponding cost model analyses can be benefited from LoopNestAnalysis, e.g. LoopCacheCost.

Aug 12 2020, 7:06 AM · Restricted Project, Restricted Project

Aug 11 2020

Whitney added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Aug 11 2020, 9:02 AM · Restricted Project
Whitney committed rGaa994d9867e3: [NFC][LoopUnrollAndJam] Use BasicBlock::replacePhiUsesWith instead of (authored by Whitney).
[NFC][LoopUnrollAndJam] Use BasicBlock::replacePhiUsesWith instead of
Aug 11 2020, 8:36 AM
Whitney closed D85673: [NFC][LoopUnrollAndJam] Use BasicBlock::replacePhiUsesWith instead of static function updatePHIBlocks..
Aug 11 2020, 8:36 AM · Restricted Project

Aug 10 2020

Whitney requested review of D85673: [NFC][LoopUnrollAndJam] Use BasicBlock::replacePhiUsesWith instead of static function updatePHIBlocks..
Aug 10 2020, 11:20 AM · Restricted Project

Aug 7 2020

Whitney requested changes to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Aug 7 2020, 9:39 AM · Restricted Project
Whitney added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Aug 7 2020, 9:37 AM · Restricted Project

Jul 29 2020

Whitney closed D83543: [CodeMoverUtils] Add more data dependency related test case.

https://reviews.llvm.org/rG167cac3100f5145186db678e497028a426ace655

Jul 29 2020, 7:43 AM · Restricted Project
Whitney added inline comments to D84776: [CodeMoverUtils] Add more tests to check code motion safety using data dependence information..
Jul 29 2020, 7:40 AM · Restricted Project

Jul 28 2020

Whitney added a comment to D84776: [CodeMoverUtils] Add more tests to check code motion safety using data dependence information..

Some quick first round review comments.

Jul 28 2020, 12:31 PM · Restricted Project

Jul 26 2020

Whitney accepted D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Jul 26 2020, 3:20 AM · Restricted Project
Whitney added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Jul 26 2020, 2:45 AM · Restricted Project

Jul 25 2020

Whitney added a comment to D80643: [CodeMoverUtils] Move OrderedInstructions to CodeMoverUtils.

https://reviews.llvm.org/rGe71c7b593a2d1b7d60dc8aaa4b8ede03de7bbd00

Jul 25 2020, 12:55 PM · Restricted Project
Whitney added inline comments to D84589: [CodeMoverUtils] Add optional data dependence checks using Alias Analysis.
Jul 25 2020, 12:44 PM · Restricted Project

Jul 20 2020

Whitney accepted D83543: [CodeMoverUtils] Add more data dependency related test case.
Jul 20 2020, 9:39 AM · Restricted Project

Jul 18 2020

Whitney added inline comments to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.
Jul 18 2020, 4:10 AM · Restricted Project

Jul 10 2020

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

Jul 9 2020

Whitney added inline comments to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.
Jul 9 2020, 7:39 AM · Restricted Project

Jul 7 2020

Whitney added inline comments to D83311: [CodeMoverUtils] Add optional data dependence checks using MSSA.
Jul 7 2020, 10:25 AM · Restricted Project

Jul 6 2020

Whitney accepted D82566: [CodeMoverUtils] Make specific analysis dependent checks optional.
Jul 6 2020, 10:58 AM · Restricted Project

Jul 2 2020

Whitney accepted D83066: [NewPM][LoopFusion] Rename loop-fuse -> loop-fusion.

LGTM. Let's wait a day or two for @kbarton .

Jul 2 2020, 2:36 PM · Restricted Project
Whitney added a comment to D82895: [LoopInfo] empty() -> isInnermost(), add isOutermost().

I think that isInnermost() would make even more sense.

I'm fine with adding bool isInnermost() const { return empty(); } and while we are at it, bool isOutermost().

@fhahn @Meinersbur @Whitney @etiotto Objections?

Jul 2 2020, 2:36 PM · Restricted Project
Whitney added a reviewer for D83066: [NewPM][LoopFusion] Rename loop-fuse -> loop-fusion: kbarton.
Jul 2 2020, 12:57 PM · Restricted Project

Jun 29 2020

Whitney accepted D82293: [CodeMoverUtils][WIP] Move code motion related checks from LICM to CodeMoverUtils.
Jun 29 2020, 2:25 PM · Restricted Project
Whitney accepted D82290: [CodeMoverUtils][WIP] Isolate checks strictly related to the code motion candidate instruction.
Jun 29 2020, 2:25 PM · Restricted Project
Whitney added inline comments to D82566: [CodeMoverUtils] Make specific analysis dependent checks optional.
Jun 29 2020, 2:25 PM · Restricted Project
Whitney added inline comments to D82566: [CodeMoverUtils] Make specific analysis dependent checks optional.
Jun 29 2020, 7:31 AM · Restricted Project

Jun 28 2020

Whitney added inline comments to D82566: [CodeMoverUtils] Make specific analysis dependent checks optional.
Jun 28 2020, 8:22 PM · Restricted Project

Jun 26 2020

Whitney added inline comments to D82290: [CodeMoverUtils][WIP] Isolate checks strictly related to the code motion candidate instruction.
Jun 26 2020, 1:08 PM · Restricted Project