Page MenuHomePhabricator

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

Feed Advanced Search

Jul 19 2023

qianzhen updated the summary of D155706: Extend -fkeep-persistent-storage-variables to cover compiler generated artifacts with reasonable mangled names that have persistent storage.
Jul 19 2023, 7:36 AM · Restricted Project, Restricted Project
qianzhen requested review of D155706: Extend -fkeep-persistent-storage-variables to cover compiler generated artifacts with reasonable mangled names that have persistent storage.
Jul 19 2023, 7:11 AM · Restricted Project, Restricted Project

Jul 18 2023

qianzhen updated the diff for D155501: Add new option -fkeep-persistent-storage-variables to Clang release notes.

Update description

Jul 18 2023, 8:52 AM · Restricted Project, Restricted Project

Jul 17 2023

qianzhen added reviewers for D155501: Add new option -fkeep-persistent-storage-variables to Clang release notes: rjmccall, hubert.reinterpretcast, cebowleratibm.
Jul 17 2023, 11:09 AM · Restricted Project, Restricted Project
qianzhen requested review of D155501: Add new option -fkeep-persistent-storage-variables to Clang release notes.
Jul 17 2023, 11:07 AM · Restricted Project, Restricted Project

Jul 13 2023

qianzhen updated the diff for D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

Add two more test cases

Jul 13 2023, 8:54 AM · Restricted Project, Restricted Project

Jul 4 2023

qianzhen added inline comments to D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.
Jul 4 2023, 2:13 PM · Restricted Project, Restricted Project
qianzhen retitled D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration from Add option -fkeep-static-variables to emit all static variables to Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.
Jul 4 2023, 2:13 PM · Restricted Project, Restricted Project
qianzhen updated the diff for D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

Update to address review comments

Jul 4 2023, 2:10 PM · Restricted Project, Restricted Project

Jun 8 2023

qianzhen added a comment to D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

@erichkeane Thanks for the comments!

Jun 8 2023, 8:29 AM · Restricted Project, Restricted Project
qianzhen updated the diff for D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

More examples have been identified for the adaptation of IBM XL compiler's -qstatsym option for the hot patch use case, which was mentioned previously. Therefore, this option is extended to cover the following cases.

  1. Function-local static variables
  2. Thread-local variables

The test case is updated to add more coverage accordingly.
Since the option is now covering not only the variables with static storage duration, but also those with thread storage duration, the option name is changed to -fkeep-persistent-storage-variables. Any suggestions would be appreciated.

Jun 8 2023, 8:17 AM · Restricted Project, Restricted Project

May 26 2023

qianzhen updated the diff for D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

Update the option text to be more descriptive

May 26 2023, 9:03 AM · Restricted Project, Restricted Project

May 24 2023

qianzhen added a comment to D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

Gentle ping.

May 24 2023, 1:28 PM · Restricted Project, Restricted Project

May 18 2023

qianzhen updated the diff for D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

Refactor as suggested

May 18 2023, 1:56 PM · Restricted Project, Restricted Project

May 12 2023

qianzhen added a comment to D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.

This is useful in keeping the static variables in a patchable function (https://clang.llvm.org/docs/AttributeReference.html#patchable-function-entry), so that they can be directly addressed by a hot patch when the optimization to merge them is enabled (https://llvm.org/docs/doxygen/GlobalMerge_8cpp_source.html).

May 12 2023, 11:03 AM · Restricted Project, Restricted Project
qianzhen added a comment to D147964: [VPlan] Introduce new entry block to VPlan for early SCEV expansion..

Thanks for the reproducers. This was an issue with epilogue vectorization and I pushed a workaround for now: 3d4eed01338d. I'll work on migrating the code to generate induction resume values based on VPlan ASAP so we can remove the workaround.

May 12 2023, 7:24 AM · Restricted Project, Restricted Project

May 11 2023

qianzhen added a comment to D147964: [VPlan] Introduce new entry block to VPlan for early SCEV expansion..

We also see the same error introduced by this patch. A reproducer:

$> opt -passes='loop-vectorize' -epilogue-vectorization-force-VF=4 test.ll
May 11 2023, 11:39 AM · Restricted Project, Restricted Project

May 9 2023

qianzhen added reviewers for D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration: hubert.reinterpretcast, eandrews, erichkeane.
May 9 2023, 1:03 PM · Restricted Project, Restricted Project
qianzhen requested review of D150221: Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration.
May 9 2023, 12:48 PM · Restricted Project, Restricted Project
qianzhen added reviewers for D150120: [RFC] Vector math function loop idiom recognition: bmahjour, Meinersbur, craig.topper, efriedma, eopXD, syzaara, alexgatea.
May 9 2023, 11:54 AM · Unknown Object (Project), Restricted Project, Restricted Project
qianzhen added a project to D150120: [RFC] Vector math function loop idiom recognition: Unknown Object (Project).
May 9 2023, 10:43 AM · Unknown Object (Project), Restricted Project, Restricted Project

May 8 2023

qianzhen updated the summary of D150120: [RFC] Vector math function loop idiom recognition.
May 8 2023, 8:11 AM · Unknown Object (Project), Restricted Project, Restricted Project
qianzhen requested review of D150120: [RFC] Vector math function loop idiom recognition.
May 8 2023, 8:07 AM · Unknown Object (Project), Restricted Project, Restricted Project

Oct 18 2022

qianzhen added a comment to D134663: [LoopDeletion] Clear block & loop dispo cache after breaking backedge..

I open https://github.com/llvm/llvm-project/issues/58454 for a new failed assertion on SCEV verify in LoopUnrollAndJam, starting with this patch.
Thanks!

Oct 18 2022, 3:28 PM · Restricted Project, Restricted Project

Aug 19 2022

qianzhen added inline comments to D117723: [NFCI] Move cost estimation from TargetLowering to TargetTransformInfo..
Aug 19 2022, 1:43 PM · Restricted Project, Restricted Project

Aug 19 2021

qianzhen accepted D108112: [LoopIdiom] Let LIR fold memset pointer / stride SCEV regarding loop guards.

LGTM

Aug 19 2021, 8:41 AM · Unknown Object (Project), Restricted Project

Aug 12 2021

qianzhen added a comment to D107353: [LoopIdiom] let the pass deal with runtime memset size.

Added some minor NFC comments.

Aug 12 2021, 1:45 PM · Restricted Project

Jun 15 2021

qianzhen added a comment to D104179: [LoopIdiom] Introduce LoopNestIdiomRecognize as an alternative.

When the loop idiom transformation processes a memset instruction in a loop, currently it only handles the memset with a compile-time constant size. The motivation of this work is to relax this limitation, so that a memset with a variable size in a loop may still be processed and promoted to a larger memset if it passes all the eligibility checks. Performance-wise, promoting the memset in a loop to a larger memset reduces the number of calls to memset; hence reducing the overall call overhead.
A similar technique may also apply to the memcpy with a variable size in a loop.

Jun 15 2021, 8:04 AM · Unknown Object (Project), Restricted Project

Jan 8 2019

qianzhen updated the diff for D56408: [SimpleLoopUnswitch] Increment stats counter for unswitching switch instruction.

Removed "if (SI)" as comment suggested. Thanks for the review!

Jan 8 2019, 8:25 AM

Jan 7 2019

qianzhen updated the summary of D56408: [SimpleLoopUnswitch] Increment stats counter for unswitching switch instruction.
Jan 7 2019, 1:23 PM
qianzhen created D56408: [SimpleLoopUnswitch] Increment stats counter for unswitching switch instruction.
Jan 7 2019, 1:18 PM