Page MenuHomePhabricator

Whitney (Whitney Tsang)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 29 2019, 6:22 PM (178 w, 6 d)

Recent Activity

Thu, Jun 30

Whitney accepted D128048: Add a new clang option "-ftime-trace=<value>".
Thu, Jun 30, 6:54 PM · Restricted Project, Restricted Project
Whitney added inline comments to D128048: Add a new clang option "-ftime-trace=<value>".
Thu, Jun 30, 6:29 AM · Restricted Project, Restricted Project

Wed, Jun 22

Whitney added a comment to D128048: Add a new clang option "-ftime-trace=<value>".

Can you please use git rebase -i to collapse all the changes into a single change? If this isn't done, it is difficult to know what is being reviewed as the changes only show the differences since your last revision, not all of the changes.

Wed, Jun 22, 6:44 AM · Restricted Project, Restricted Project

Mon, Jun 20

Whitney added inline comments to D128048: Add a new clang option "-ftime-trace=<value>".
Mon, Jun 20, 10:21 PM · Restricted Project, Restricted Project

Fri, Jun 17

Whitney added a comment to D128048: Add a new clang option "-ftime-trace=<value>".

Can you please add some test cases?

Fri, Jun 17, 6:24 AM · Restricted Project, Restricted Project

Apr 11 2022

Whitney committed rG80304c5f88f0: [LoopUnroll] Always respect user unroll pragma (authored by Whitney).
[LoopUnroll] Always respect user unroll pragma
Apr 11 2022, 11:33 AM · Restricted Project, Restricted Project
Whitney closed D119148: [LoopUnroll] Always respect user unroll pragma.
Apr 11 2022, 11:33 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Apr 8 2022

Whitney added a comment to D119148: [LoopUnroll] Always respect user unroll pragma.

PragmaUnrollThreshold has other uses; are you intentionally leaving those alone?

Apr 8 2022, 6:43 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Apr 1 2022

Whitney accepted D118808: Loop Strength Reduce - Optimize unused IVs to final values in the exit block with SCEV.
Apr 1 2022, 7:02 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 11 2022

Whitney added inline comments to D118808: Loop Strength Reduce - Optimize unused IVs to final values in the exit block with SCEV.
Mar 11 2022, 2:02 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Mar 7 2022

Whitney added a comment to D118808: Loop Strength Reduce - Optimize unused IVs to final values in the exit block with SCEV.

IndVarSimply calls rewriteLoopExitValues from LoopUtils to do this optimization. I tried to call the same function in LoopStrengthReduce, however rewriteLoopExitValues asserts that it requires: L->isRecursivelyLCSSAForm(*DT, *LI).

When calling rewriteLoopExitValues from LoopStrengthReduce, this assert is not met.

Mar 7 2022, 5:42 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 22 2022

Whitney added a comment to D119109: [clang][AIX] Enable LTO and teach the driver to pass options to the plugin.

I don't have any other comments other than those clang-format ones.

Feb 22 2022, 7:24 PM · Restricted Project
Whitney added a comment to D118808: Loop Strength Reduce - Optimize unused IVs to final values in the exit block with SCEV.

Is it possible to abstract the portion of the code in IndVarSimplify to simplify this code pattern, and call that function instead of creating your own ReplaceExitPHIsWithFinalVal?

Feb 22 2022, 4:04 PM · Restricted Project, Restricted Project, Unknown Object (Project)

Feb 18 2022

Whitney committed rGe7afbea8ca4e: [MemorySSA] Clear VisitedBlocks per query (authored by Whitney).
[MemorySSA] Clear VisitedBlocks per query
Feb 18 2022, 12:36 PM
Whitney closed D119898: [MemorySSA] Clear VisitedBlocks per query.
Feb 18 2022, 12:36 PM · Restricted Project, Unknown Object (Project)

Feb 17 2022

Whitney added a comment to D119148: [LoopUnroll] Always respect user unroll pragma.

I think the limit is there just to prevent the compiler from exploding. If you try to unroll too much, you're going to end up with effectively infinite compile time and/or run out of memory.

I would expect it's unlikely to trigger the limit in practice; do you have a practical case where it matters?

Feb 17 2022, 8:16 PM · Restricted Project, Restricted Project, Unknown Object (Project)
Whitney added a comment to D119148: [LoopUnroll] Always respect user unroll pragma.

ping

Feb 17 2022, 10:43 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Whitney updated the diff for D119898: [MemorySSA] Clear VisitedBlocks per query.

Verified that clearing at the beginning of insertDef and insertUse can resolve the problem shown in the test case.

Feb 17 2022, 10:43 AM · Restricted Project, Unknown Object (Project)

Feb 15 2022

Whitney added a reviewer for D118076: Sinking or hoisting instructions between loops before fusion: kbarton.
Feb 15 2022, 3:16 PM · Restricted Project, Restricted Project
Whitney updated the summary of D119898: [MemorySSA] Clear VisitedBlocks per query.
Feb 15 2022, 3:15 PM · Restricted Project, Unknown Object (Project)
Whitney requested review of D119898: [MemorySSA] Clear VisitedBlocks per query.
Feb 15 2022, 3:13 PM · Restricted Project, Unknown Object (Project)

Feb 14 2022

Whitney accepted D119107: [NFCI][clang][driver] Identify LTO plugin types and refine opt passing.
Feb 14 2022, 10:24 AM

Feb 8 2022

Whitney added inline comments to D119107: [NFCI][clang][driver] Identify LTO plugin types and refine opt passing.
Feb 8 2022, 5:34 PM
Whitney added inline comments to D119109: [clang][AIX] Enable LTO and teach the driver to pass options to the plugin.
Feb 8 2022, 5:23 PM · Restricted Project

Feb 7 2022

Whitney updated the diff for D119148: [LoopUnroll] Always respect user unroll pragma.
Feb 7 2022, 9:29 AM · Restricted Project, Restricted Project, Unknown Object (Project)
Whitney requested review of D119148: [LoopUnroll] Always respect user unroll pragma.
Feb 7 2022, 8:45 AM · Restricted Project, Restricted Project, Unknown Object (Project)

Jan 13 2022

Whitney committed rGcb6b9d3ae2cb: [LoopNest] Add new utilites (authored by Whitney).
[LoopNest] Add new utilites
Jan 13 2022, 2:19 PM
Whitney closed D115590: [LoopNest] Add new utilites.
Jan 13 2022, 2:19 PM · Restricted Project, Unknown Object (Project)
Whitney updated the diff for D115590: [LoopNest] Add new utilites.

address review comment

Jan 13 2022, 12:04 PM · Restricted Project, Unknown Object (Project)

Jan 11 2022

Whitney added inline comments to rG67a3331e4f6d: Inline extractMallocCall to sole use and delete [NFC].
Jan 11 2022, 5:27 PM
Whitney added inline comments to rG67a3331e4f6d: Inline extractMallocCall to sole use and delete [NFC].
Jan 11 2022, 4:28 PM

Jan 10 2022

Whitney added a comment to D115590: [LoopNest] Add new utilites.

ping

Jan 10 2022, 6:35 AM · Restricted Project, Unknown Object (Project)

Dec 20 2021

Whitney added inline comments to D115590: [LoopNest] Add new utilites.
Dec 20 2021, 7:18 AM · Restricted Project, Unknown Object (Project)

Dec 15 2021

Whitney updated the diff for D115590: [LoopNest] Add new utilites.
Dec 15 2021, 9:44 AM · Restricted Project, Unknown Object (Project)

Dec 11 2021

Whitney requested review of D115590: [LoopNest] Add new utilites.
Dec 11 2021, 6:13 PM · Restricted Project, Unknown Object (Project)

Dec 8 2021

Whitney accepted D114886: [LoopOptWG][LoopUnroll] Disable loop unroll when user explicitly asks for unroll-and-jam.
Dec 8 2021, 7:29 AM · Unknown Object (Project), Restricted Project

Dec 1 2021

Whitney added a project to D114886: [LoopOptWG][LoopUnroll] Disable loop unroll when user explicitly asks for unroll-and-jam: Unknown Object (Project).
Dec 1 2021, 9:11 AM · Unknown Object (Project), Restricted Project
Whitney added a project to D108087: [SimpleLoopUnswitch] Create SimpleLoopNestUnswitch pass: Unknown Object (Project).
Dec 1 2021, 8:51 AM · Unknown Object (Project), Restricted Project
Whitney added a project to D104636: [WIP][LoopIdiom] Teach LNIR to versioning loops and add runtime check: Unknown Object (Project).
Dec 1 2021, 8:27 AM · Unknown Object (Project), Restricted Project
Whitney added a project to D104179: [LoopIdiom] Introduce LoopNestIdiomRecognize as an alternative: Unknown Object (Project).
Dec 1 2021, 8:27 AM · Unknown Object (Project), Restricted Project
Whitney added a project to D108112: [LoopIdiom] Let LIR fold memset pointer / stride SCEV regarding loop guards: Unknown Object (Project).
Dec 1 2021, 8:26 AM · Unknown Object (Project), Restricted Project

Nov 24 2021

Whitney added inline comments to D113939: [runtime-unroll] Remove restriction about unrolling multiple exit loops.
Nov 24 2021, 8:48 AM · Unknown Object (Project), Restricted Project

Nov 5 2021

Whitney committed rG93421108d255: Add NoOpLoopNestPass and LOOPNEST_PASS macro (authored by Whitney).
Add NoOpLoopNestPass and LOOPNEST_PASS macro
Nov 5 2021, 9:12 AM
Whitney closed D113185: Add NoOpLoopNestPass and LOOPNEST_PASS macro.
Nov 5 2021, 9:12 AM · Restricted Project

Nov 4 2021

Whitney updated the diff for D113185: Add NoOpLoopNestPass and LOOPNEST_PASS macro.

clang-format

Nov 4 2021, 8:23 AM · Restricted Project
Whitney requested review of D113185: Add NoOpLoopNestPass and LOOPNEST_PASS macro.
Nov 4 2021, 6:19 AM · Restricted Project
Whitney accepted D112980: [LoopInfo] Fix a bug in the function getInductionVariable.
Nov 4 2021, 6:11 AM · Restricted Project

Nov 2 2021

Whitney added a comment to D112980: [LoopInfo] Fix a bug in the function getInductionVariable.

Thanks for fixing this. Can you please provide a test case?

Nov 2 2021, 7:50 PM · Restricted Project

Oct 28 2021

Whitney accepted D112745: Point replay file to non-existent dummy.
Oct 28 2021, 1:08 PM · Restricted Project

Oct 26 2021

Whitney added reviewers for D112549: Adding patch and unittest to generalize ignorable induction casts in the LoopVectorizationLegality analysis.: bmahjour, Whitney.
Oct 26 2021, 9:39 AM · Restricted Project

Oct 1 2021

Whitney accepted D110955: [AIX] Don't pass namedsects in LTO mode.
Oct 1 2021, 12:00 PM · Restricted Project

Sep 28 2021

Whitney accepted D110671: [AIX] Enable PGO without LTO.
Sep 28 2021, 5:59 PM · Restricted Project

Sep 27 2021

Whitney accepted D110456: [CodeMoverUtils] Enhance isSafeToMoveBefore() when control flow equivalence is satisfied .

One minor comment, other than that LGTM.

Sep 27 2021, 12:50 PM · Restricted Project
Whitney added a comment to D110492: [LoopInfo] Return conditional branch of preheader's predecessor if loop's exit has exactly two predecessors which are latch and guard.

Why is the input to DSE not in simplified form? By running -loop-simplify after the IR you provided resolves this problem.

Sep 27 2021, 7:28 AM · Restricted Project
Whitney added inline comments to D110456: [CodeMoverUtils] Enhance isSafeToMoveBefore() when control flow equivalence is satisfied .
Sep 27 2021, 7:09 AM · Restricted Project

Sep 24 2021

Whitney accepted D110422: [AIX] Change the linkage of profiling counter/data to be private.
Sep 24 2021, 9:08 AM · Restricted Project, Restricted Project

Sep 23 2021

Whitney accepted D110378: [CodeMoverUtils] Enhance isSafeToMoveBefore() when moving BBs.
Sep 23 2021, 9:02 PM · Restricted Project
Whitney added inline comments to D110378: [CodeMoverUtils] Enhance isSafeToMoveBefore() when moving BBs.
Sep 23 2021, 7:46 PM · Restricted Project

Sep 1 2021

Whitney added a reviewer for D108087: [SimpleLoopUnswitch] Create SimpleLoopNestUnswitch pass: bmahjour.
Sep 1 2021, 6:52 AM · Unknown Object (Project), Restricted Project

Aug 24 2021

Whitney added inline comments to D108087: [SimpleLoopUnswitch] Create SimpleLoopNestUnswitch pass.
Aug 24 2021, 11:21 AM · Unknown Object (Project), Restricted Project
Whitney added a comment to D104620: [LoopVersioning] Add utility to fetch the runtime check basic block.

This change looks like part of the change in https://reviews.llvm.org/D104631?

Aug 24 2021, 11:15 AM · Restricted Project
Whitney accepted D104631: [LoopVersioning] Allow versionLoop to create plain branch inst when no runtime check is specified.

LGTM.

Aug 24 2021, 10:59 AM · Restricted Project

Aug 17 2021

Whitney committed rG4018d25da8ab: LoopNest Analysis expansion to return instructions that prevent a Loop (authored by madanial).
LoopNest Analysis expansion to return instructions that prevent a Loop
Aug 17 2021, 3:27 PM
Whitney closed D107773: LoopNest Analysis expansion to return instructions that prevent a Loop Nest from being perfect.
Aug 17 2021, 3:27 PM · Restricted Project

Aug 16 2021

Whitney requested review of D108166: [LNICM] Fix infinite loop.
Aug 16 2021, 3:10 PM · Restricted Project
Whitney added a reviewer for D108112: [LoopIdiom] Let LIR fold memset pointer / stride SCEV regarding loop guards: qianzhen.
Aug 16 2021, 7:06 AM · Unknown Object (Project), Restricted Project

Aug 12 2021

Whitney accepted D107353: [LoopIdiom] let the pass deal with runtime memset size.

LGTM

Aug 12 2021, 11:07 AM · Restricted Project

Aug 9 2021

Whitney accepted D107773: LoopNest Analysis expansion to return instructions that prevent a Loop Nest from being perfect.
Aug 9 2021, 4:09 PM · Restricted Project
Whitney added inline comments to D107773: LoopNest Analysis expansion to return instructions that prevent a Loop Nest from being perfect.
Aug 9 2021, 3:59 PM · Restricted Project
Whitney added inline comments to D107773: LoopNest Analysis expansion to return instructions that prevent a Loop Nest from being perfect.
Aug 9 2021, 11:17 AM · Restricted Project
Whitney added reviewers for D107773: LoopNest Analysis expansion to return instructions that prevent a Loop Nest from being perfect: bmahjour, etiotto, Meinersbur.
Aug 9 2021, 11:05 AM · Restricted Project
Whitney committed rG39ca3e5541d0: Update: clang/test/Profile/gcc-flag-compatibility.c to have -flto on AIX (authored by madanial).
Update: clang/test/Profile/gcc-flag-compatibility.c to have -flto on AIX
Aug 9 2021, 7:58 AM
Whitney closed D106815: Update: clang/test/Profile/gcc-flag-compatibility.c to have -flto on AIX.
Aug 9 2021, 7:57 AM · Restricted Project, Restricted Project
Whitney added a comment to D106815: Update: clang/test/Profile/gcc-flag-compatibility.c to have -flto on AIX.

I need some help to commit this change as I do not have commit access as of now.

Aug 9 2021, 7:23 AM · Restricted Project, Restricted Project
Whitney updated subscribers of D107353: [LoopIdiom] let the pass deal with runtime memset size.
Aug 9 2021, 6:55 AM · Restricted Project
Whitney updated subscribers of D107353: [LoopIdiom] let the pass deal with runtime memset size.
Aug 9 2021, 6:54 AM · Restricted Project
Whitney added inline comments to D107353: [LoopIdiom] let the pass deal with runtime memset size.
Aug 9 2021, 6:53 AM · Restricted Project

Aug 7 2021

Whitney accepted D107219: [LICM] Support sinking in LNICM.
Aug 7 2021, 12:18 PM · Restricted Project

Aug 4 2021

Whitney accepted D104595: [NFCI] [LoopIdiom] Let processLoopStridedStore take StoreSize as SCEV instead of unsigned.

Please make sure clang-format is good for the new lines you changed.
Otherwise, LGTM.

Aug 4 2021, 12:15 PM · Restricted Project
Whitney added inline comments to D104595: [NFCI] [LoopIdiom] Let processLoopStridedStore take StoreSize as SCEV instead of unsigned.
Aug 4 2021, 10:59 AM · Restricted Project
Whitney added inline comments to D107219: [LICM] Support sinking in LNICM.
Aug 4 2021, 10:47 AM · Restricted Project
Whitney added inline comments to D107219: [LICM] Support sinking in LNICM.
Aug 4 2021, 7:53 AM · Restricted Project
Whitney added inline comments to D107219: [LICM] Support sinking in LNICM.
Aug 4 2021, 7:17 AM · Restricted Project
Whitney added inline comments to D107219: [LICM] Support sinking in LNICM.
Aug 4 2021, 6:35 AM · Restricted Project
Whitney added a reviewer for D107219: [LICM] Support sinking in LNICM: bmahjour.
Aug 4 2021, 6:24 AM · Restricted Project

Jul 30 2021

Whitney added a comment to D106450: [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069).

@Whitney we need the end-to-end test case to have a better understanding of where your original IR is appearing and why cse isn't solving this - running it through -O3 seems to be fine: https://c.godbolt.org/z/jWYcra73x (vs just -instcombine) which suggests a phase ordering issue is at play

Jul 30 2021, 8:41 AM · Restricted Project

Jul 29 2021

Whitney accepted D106815: Update: clang/test/Profile/gcc-flag-compatibility.c to have -flto on AIX.
Jul 29 2021, 1:35 PM · Restricted Project, Restricted Project
Whitney added a comment to D106450: [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069).

@Whitney which target is this?

Jul 29 2021, 12:40 PM · Restricted Project
Whitney added a comment to D106450: [InstCombine] Fold (gep (oneuse(gep Ptr, Idx0)), Idx1) -> (gep Ptr, (add Idx0, Idx1)) (PR51069).

This change is causing performance degradation on one of our important benchmarks. Here is an example to show the potential reason:

Jul 29 2021, 12:15 PM · Restricted Project

Jul 26 2021

Whitney added inline comments to D106815: Update: clang/test/Profile/gcc-flag-compatibility.c to have -flto on AIX.
Jul 26 2021, 2:56 PM · Restricted Project, Restricted Project

Jul 18 2021

Whitney accepted D104180: [LICM] Create LoopNest Invariant Code Motion (LNICM) pass.
Jul 18 2021, 10:03 AM · Restricted Project

Jul 16 2021

Whitney accepted D106074: [AIX] Clang's library integration support for 128-bit long double is incomplete on AIX..
Jul 16 2021, 11:32 AM · Restricted Project

Jul 15 2021

Whitney added a comment to D104180: [LICM] Create LoopNest Invariant Code Motion (LNICM) pass.

This change LGTM.

  1. changes to the existing LICM pass is minimal
  2. there is an motivating example

More work need to be done before modifying the pipeline.

Jul 15 2021, 4:23 PM · Restricted Project
Whitney accepted D106091: [PowerPC] Improve error message on MASSV pass.
Jul 15 2021, 1:04 PM · Restricted Project, Restricted Project

Jul 14 2021

Whitney accepted D102300: [LoopInterchange] Check lcssa phis in the inner latch in scenarios of multi-level nested loops.
Jul 14 2021, 6:00 PM · Restricted Project

Jul 9 2021

Whitney added inline comments to D105743: [AIX] Emit version string in .file directive.
Jul 9 2021, 3:23 PM · Restricted Project

Jul 6 2021

Whitney retitled D104180: [LICM] Create LoopNest Invariant Code Motion (LNICM) pass from [NFC] [LICM] Create LoopNest Invariant Code Motion (LNICM) pass to [LICM] Create LoopNest Invariant Code Motion (LNICM) pass.
Jul 6 2021, 11:54 AM · Restricted Project

Jun 29 2021

Whitney added a comment to D104180: [LICM] Create LoopNest Invariant Code Motion (LNICM) pass.

We're thinking of replacing LICM in LPM1 with LNICM and adding LPM3 containing LICM after LPM2.
In long term, LPM3 should be removed though.

Jun 29 2021, 9:28 AM · Restricted Project

Jun 26 2021

Whitney added a reviewer for D104180: [LICM] Create LoopNest Invariant Code Motion (LNICM) pass: lebedev.ri.
Jun 26 2021, 9:52 AM · Restricted Project

Jun 25 2021

Whitney added inline comments to D102300: [LoopInterchange] Check lcssa phis in the inner latch in scenarios of multi-level nested loops.
Jun 25 2021, 12:53 PM · Restricted Project