Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

drcut (Ruobing Han)
User

Projects

User does not belong to any projects.

User Details

User Since
May 12 2022, 2:49 PM (71 w, 1 d)

Recent Activity

Sep 26 2022

drcut abandoned D127450: [NFC] Implement non-trivial LoopUnswitch with FunctionPass, and integrate it into O3 pipeline.
Sep 26 2022, 10:08 AM · Restricted Project, Restricted Project
drcut abandoned D127770: [NFC] integrate Function SLU into O3.
Sep 26 2022, 10:07 AM · Restricted Project, Restricted Project
drcut abandoned D128001: apply DivergenceAnalysis for SLU.
Sep 26 2022, 10:07 AM · Restricted Project, Restricted Project
drcut abandoned D127698: add non-trivial LoopUnswitch FuncPass.
Sep 26 2022, 10:06 AM · Restricted Project, Restricted Project
drcut abandoned D127765: modify the insertion of freeze instructions for SLU pass.
Sep 26 2022, 10:06 AM · Restricted Project, Restricted Project
drcut added a comment to D127765: modify the insertion of freeze instructions for SLU pass.

Hmm, aren't there other places in the code that rely on instructions being hoisted out by LICM? Unless I am mis-remembering, It's not clear to me if/why freeze should be treated in a special way.

Sep 26 2022, 6:23 AM · Restricted Project, Restricted Project

Sep 6 2022

drcut committed rGfb45f3c9486f: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold functions (authored by drcut).
[SimpleLoopUnswitch] Skip non-trivial unswitching of cold functions
Sep 6 2022, 4:13 PM · Restricted Project, Restricted Project
drcut closed D133275: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold functions.
Sep 6 2022, 4:13 PM · Restricted Project, Restricted Project
drcut updated the diff for D133275: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold functions.

Use opt to remove useless profiling data

Sep 6 2022, 4:09 PM · Restricted Project, Restricted Project
drcut added a comment to D133275: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold functions.

@alexgatea Would you please also evaluate this patch on SPEC to see whether there are other regressions? Thanks

Sep 6 2022, 7:37 AM · Restricted Project, Restricted Project

Sep 4 2022

drcut requested review of D133275: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold functions.
Sep 4 2022, 10:01 AM · Restricted Project, Restricted Project
drcut committed rG07341e3b3780: [test] pre-submission for the following SimpleLoopUnswitch update (authored by drcut).
[test] pre-submission for the following SimpleLoopUnswitch update
Sep 4 2022, 8:50 AM · Restricted Project, Restricted Project
drcut updated the diff for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

revert to previous revision that has been merged into main branch

Sep 4 2022, 7:57 AM · Restricted Project, Restricted Project
drcut reclaimed D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

Sorry for the mistake, I will keep this revision open and make it related to the update revision for the regression.

Sep 4 2022, 7:37 AM · Restricted Project, Restricted Project
drcut abandoned D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

I will create a new revision for this patch

Sep 4 2022, 7:31 AM · Restricted Project, Restricted Project

Aug 29 2022

drcut added a comment to D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.
Aug 29 2022, 7:16 AM · Restricted Project, Restricted Project
drcut updated the diff for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

Avoid applying non-trivial unswitching in cold Function. Compared with previous PGO solution, this version will apply non-trivial unswitching on cold loops in hot functions.

Aug 29 2022, 7:15 AM · Restricted Project, Restricted Project

Aug 27 2022

drcut added a comment to D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

@alexgatea please try whether the new revision could solve your problem. Thanks

Aug 27 2022, 11:52 AM · Restricted Project, Restricted Project
drcut updated the diff for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

As suggested by other users, we need to make the skip check more restrict to avoid performance degradation.

Aug 27 2022, 11:51 AM · Restricted Project, Restricted Project

Aug 25 2022

drcut added a comment to D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

@alexgatea Thanks for the feedback.
isColdBlock should be global. One example is in (https://llvm.org/doxygen/ProfileSummaryInfo_8cpp_source.html#l00142), which uses isColdBlock to check whether a function is cold or not. So I assume the issue is the loop is non-cold in real case, but was concerned as cold in the profile data. I kindly suggest updating the profile data to see if there is still any degradation.
Please correct me if I am wrong. Thanks

Aug 25 2022, 7:40 AM · Restricted Project, Restricted Project

Aug 8 2022

drcut committed rGf756f06cc471: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops (authored by drcut).
[SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops
Aug 8 2022, 11:13 AM · Restricted Project, Restricted Project
drcut closed D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.
Aug 8 2022, 11:13 AM · Restricted Project, Restricted Project
drcut retitled D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops from Apply PGO on SimpleLoopUnswitch to [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.
Aug 8 2022, 11:08 AM · Restricted Project, Restricted Project
drcut abandoned D127547: Add FuncPass Implementation for non-trivial LoopUnswitching.

This patch implements SimpleLoopUnswitch using FuncPass, which can be used to replace the LoopPass implementation currently used in the optimization pipeline.
This patch has been verified and can be re-opened once we find using FuncPass for SLU is necessary/beneficial.

Aug 8 2022, 11:05 AM · Restricted Project, Restricted Project

Aug 5 2022

drcut updated the diff for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

[test] Update PGO SLU test

Aug 5 2022, 2:23 PM · Restricted Project, Restricted Project
drcut committed rGb5244fb71cae: [test][SimpleLoopUnswitch] Precommit test for D129599 (authored by drcut).
[test][SimpleLoopUnswitch] Precommit test for D129599
Aug 5 2022, 1:18 PM · Restricted Project, Restricted Project
drcut updated the diff for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

[test][SimpleLoopUnswitch] Precommit test for D129599

Aug 5 2022, 10:47 AM · Restricted Project, Restricted Project

Aug 4 2022

drcut updated the diff for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

[llvm] Change test file for PGO on SLU

Aug 4 2022, 2:34 PM · Restricted Project, Restricted Project
drcut updated the diff for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.

[llvm] Implement PGO for SLU
Using PGO for SLU to avoid non-trivial unswitch code on code loops, which will increase the binary code size without gain much benefit.

Aug 4 2022, 11:28 AM · Restricted Project, Restricted Project

Jul 27 2022

drcut updated the summary of D130672: [llvm] Extend the CaptureTracking to handle constantExprs that read global variables.
Jul 27 2022, 4:28 PM · Restricted Project, Restricted Project
drcut requested review of D130672: [llvm] Extend the CaptureTracking to handle constantExprs that read global variables.
Jul 27 2022, 4:26 PM · Restricted Project, Restricted Project

Jul 20 2022

drcut committed rG2b98b8e8fba1: fix bug for useless malloc elimination in CodeGenPrepare (authored by drcut).
fix bug for useless malloc elimination in CodeGenPrepare
Jul 20 2022, 9:30 AM · Restricted Project, Restricted Project
drcut closed D130126: fix bug for useless malloc elimination in CodeGenPrepare.
Jul 20 2022, 9:30 AM · Restricted Project, Restricted Project

Jul 19 2022

drcut updated the diff for D130126: fix bug for useless malloc elimination in CodeGenPrepare.
Jul 19 2022, 3:33 PM · Restricted Project, Restricted Project
drcut added a comment to D130126: fix bug for useless malloc elimination in CodeGenPrepare.

Please put the test in llvm/test/Transforms/CodeGenPrepare instead and use update_test_checks.py. Omit the target triple if possible, which it likely is.

Jul 19 2022, 3:30 PM · Restricted Project, Restricted Project
drcut updated the diff for D130126: fix bug for useless malloc elimination in CodeGenPrepare.

Reformat the test file with update_test_checks.py

Jul 19 2022, 3:28 PM · Restricted Project, Restricted Project
drcut added a reviewer for D130126: fix bug for useless malloc elimination in CodeGenPrepare: aeubanks.
Jul 19 2022, 2:41 PM · Restricted Project, Restricted Project
drcut requested review of D130126: fix bug for useless malloc elimination in CodeGenPrepare.
Jul 19 2022, 2:41 PM · Restricted Project, Restricted Project

Jul 12 2022

drcut added reviewers for D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops: aeubanks, asbirlea.
Jul 12 2022, 3:06 PM · Restricted Project, Restricted Project
drcut requested review of D129599: [SimpleLoopUnswitch] Skip non-trivial unswitching of cold loops.
Jul 12 2022, 3:05 PM · Restricted Project, Restricted Project

Jun 21 2022

drcut added a comment to D128001: apply DivergenceAnalysis for SLU.

@bcahoon This revision is based on your previous implementation (https://reviews.llvm.org/D109762). In the parent revision(https://reviews.llvm.org/D127547) we use FuncPass to re-implement non-trivial LoopUnswitch, thus, we do not invoke DivergenceAnalysis for each loop. Would you please have are look for whether these modifications (implement non-trivial LoopUnswitch with FuncPass and integrate DivergenceAnalysis in the new FuncPass) work on your test cases? Thanks

Jun 21 2022, 10:42 AM · Restricted Project, Restricted Project
drcut added a reviewer for D128001: apply DivergenceAnalysis for SLU: bcahoon.
Jun 21 2022, 10:37 AM · Restricted Project, Restricted Project

Jun 16 2022

drcut updated the summary of D128001: apply DivergenceAnalysis for SLU.
Jun 16 2022, 1:14 PM · Restricted Project, Restricted Project
drcut requested review of D128001: apply DivergenceAnalysis for SLU.
Jun 16 2022, 1:10 PM · Restricted Project, Restricted Project

Jun 14 2022

drcut added reviewers for D127770: [NFC] integrate Function SLU into O3: aeubanks, asbirlea.
Jun 14 2022, 11:44 AM · Restricted Project, Restricted Project
drcut requested review of D127770: [NFC] integrate Function SLU into O3.
Jun 14 2022, 10:59 AM · Restricted Project, Restricted Project
drcut added reviewers for D127765: modify the insertion of freeze instructions for SLU pass: aeubanks, asbirlea.
Jun 14 2022, 10:36 AM · Restricted Project, Restricted Project
drcut updated the diff for D127765: modify the insertion of freeze instructions for SLU pass.

Fix bug for hoisting freeze instruction

Jun 14 2022, 10:35 AM · Restricted Project, Restricted Project
drcut requested review of D127765: modify the insertion of freeze instructions for SLU pass.
Jun 14 2022, 9:54 AM · Restricted Project, Restricted Project

Jun 13 2022

drcut added reviewers for D127698: add non-trivial LoopUnswitch FuncPass: asbirlea, aeubanks.
Jun 13 2022, 2:52 PM · Restricted Project, Restricted Project
drcut requested review of D127698: add non-trivial LoopUnswitch FuncPass.
Jun 13 2022, 2:29 PM · Restricted Project, Restricted Project

Jun 10 2022

drcut added reviewers for D127547: Add FuncPass Implementation for non-trivial LoopUnswitching: asbirlea, aeubanks.
Jun 10 2022, 3:54 PM · Restricted Project, Restricted Project
drcut requested review of D127547: Add FuncPass Implementation for non-trivial LoopUnswitching.
Jun 10 2022, 3:52 PM · Restricted Project, Restricted Project

Jun 9 2022

drcut requested review of D127450: [NFC] Implement non-trivial LoopUnswitch with FunctionPass, and integrate it into O3 pipeline.
Jun 9 2022, 3:24 PM · Restricted Project, Restricted Project

May 17 2022

drcut committed rGe1cf702a02bc: fix typo error in DivergenceAnalysis.h (authored by drcut).
fix typo error in DivergenceAnalysis.h
May 17 2022, 10:21 AM · Restricted Project, Restricted Project
drcut closed D125808: fix typo error in DivergenceAnalysis.h.
May 17 2022, 10:21 AM · Restricted Project, Restricted Project
drcut retitled D125808: fix typo error in DivergenceAnalysis.h from fix typo to fix typo error in DivergenceAnalysis.h.
May 17 2022, 9:57 AM · Restricted Project, Restricted Project
drcut requested review of D125808: fix typo error in DivergenceAnalysis.h.
May 17 2022, 9:56 AM · Restricted Project, Restricted Project