Page MenuHomePhabricator

ychen (Yuanfang Chen)
User

Projects

User Details

User Since
Nov 19 2013, 9:02 PM (374 w, 4 d)

Recent Activity

Fri, Jan 22

ychen accepted D95254: [NewPM][opt] Make -enable-new-pm default to LLVM_ENABLE_NEW_PASS_MANAGER.

Thank you for the great work that makes this default. LGTM.

Fri, Jan 22, 2:03 PM · Restricted Project

Tue, Jan 12

ychen committed rG5c7dcd7aead7: [Coroutine] Update promise object's final layout index (authored by ychen).
[Coroutine] Update promise object's final layout index
Tue, Jan 12, 5:45 PM
ychen closed D94137: [coroutine] update promise object's final layout index.
Tue, Jan 12, 5:44 PM · Restricted Project
ychen added inline comments to D94137: [coroutine] update promise object's final layout index.
Tue, Jan 12, 4:53 PM · Restricted Project
ychen updated the diff for D94137: [coroutine] update promise object's final layout index.

rebase

Tue, Jan 12, 4:52 PM · Restricted Project
ychen updated the diff for D94137: [coroutine] update promise object's final layout index.

rebase

Tue, Jan 12, 4:50 PM · Restricted Project
ychen updated the diff for D94137: [coroutine] update promise object's final layout index.

Address comments

Tue, Jan 12, 4:49 PM · Restricted Project
ychen added inline comments to D94137: [coroutine] update promise object's final layout index.
Tue, Jan 12, 4:05 PM · Restricted Project
ychen added inline comments to D94137: [coroutine] update promise object's final layout index.
Tue, Jan 12, 4:05 PM · Restricted Project
ychen added inline comments to D94137: [coroutine] update promise object's final layout index.
Tue, Jan 12, 3:49 PM · Restricted Project
ychen added inline comments to D94137: [coroutine] update promise object's final layout index.
Tue, Jan 12, 12:32 PM · Restricted Project
ychen added inline comments to D94137: [coroutine] update promise object's final layout index.
Tue, Jan 12, 10:35 AM · Restricted Project
ychen added a comment to D94137: [coroutine] update promise object's final layout index.

ping?

Tue, Jan 12, 9:54 AM · Restricted Project

Thu, Jan 7

ychen accepted D94283: [NewPM] Don't error when there's an unrecognized pass name.

LGTM. I still think we should get back to the legacy names so that translation is avoided.

Thu, Jan 7, 10:20 PM · Restricted Project
ychen added inline comments to rGd15d81ce15e0: [SimplifyCFG] FoldValueComparisonIntoPredecessors(): deal with each predecessor….
Thu, Jan 7, 8:25 PM

Tue, Jan 5

ychen requested review of D94137: [coroutine] update promise object's final layout index.
Tue, Jan 5, 4:07 PM · Restricted Project
ychen accepted D93980: [NFC] Rename registerAliasAnalyses -> registerDefaultAliasAnalyses.

LGTM

Tue, Jan 5, 10:54 AM · Restricted Project

Wed, Dec 30

ychen committed rG277ebe46c666: Fix `LLVM_ENABLE_MODULES=On` build (authored by ychen).
Fix `LLVM_ENABLE_MODULES=On` build
Wed, Dec 30, 10:54 AM

Tue, Dec 29

ychen added a reverting change for rG16c8f6e91344: Revert "Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build…: rG480936e741d5: Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen….
Tue, Dec 29, 4:40 PM
ychen committed rG480936e741d5: Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen… (authored by ychen).
Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen…
Tue, Dec 29, 4:40 PM
ychen added a reverting change for rG21314940c485: Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen…: rG16c8f6e91344: Revert "Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build….
Tue, Dec 29, 4:30 PM
ychen committed rG16c8f6e91344: Revert "Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build… (authored by ychen).
Revert "Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build…
Tue, Dec 29, 4:30 PM
ychen added a reverting change for rG94427af60c66: Revert "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen…: rG21314940c485: Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen….
Tue, Dec 29, 3:18 PM
ychen committed rG21314940c485: Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen… (authored by ychen).
Reland "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen…
Tue, Dec 29, 3:18 PM

Mon, Dec 28

ychen added a reverting change for rG4646de5d75cf: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline: rG94427af60c66: Revert "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen….
Mon, Dec 28, 5:45 PM
ychen committed rG94427af60c66: Revert "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen… (authored by ychen).
Revert "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen…
Mon, Dec 28, 5:45 PM
ychen added a reverting change for D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline: rG94427af60c66: Revert "[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen….
Mon, Dec 28, 5:45 PM · Restricted Project
ychen committed rG4646de5d75cf: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline (authored by ychen).
[NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline
Mon, Dec 28, 5:40 PM
ychen closed D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.
Mon, Dec 28, 5:40 PM · Restricted Project
ychen updated the diff for D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.
  • Remove obsolete TODO
Mon, Dec 28, 4:57 PM · Restricted Project
ychen accepted D93871: [NewPM] Fix CGSCCOptimizerLateEPCallbacks place in pipeline.

LGTM

Mon, Dec 28, 2:00 PM · Restricted Project
ychen added a comment to D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.

ping?

Mon, Dec 28, 9:50 AM · Restricted Project
ychen accepted D93863: [NewPM][AMDGPU] Port amdgpu-simplifylib/amdgpu-usenative.

LGTM

Mon, Dec 28, 9:44 AM · Restricted Project

Dec 22 2020

ychen accepted D93739: CodeGen: Refactor regallocator command line and target selection.

LGTM

Dec 22 2020, 6:34 PM · Restricted Project

Dec 21 2020

ychen requested review of D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.
Dec 21 2020, 1:11 PM · Restricted Project
ychen updated the diff for D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.
Dec 21 2020, 1:10 PM · Restricted Project
ychen planned changes to D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.
Dec 21 2020, 1:10 PM · Restricted Project
ychen reopened D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.
Dec 21 2020, 1:10 PM · Restricted Project
ychen added inline comments to D83608: [NewPM][CodeGen] Introduce CodeGenPassBuilder to help build codegen pipeline.
Dec 21 2020, 1:10 PM · Restricted Project
ychen closed D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.
Dec 21 2020, 10:36 AM · Restricted Project
ychen added a comment to D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.

LLVMBuild.txt has been deleted. The dependencies are entirely specified by CMakeLists.txt

Dec 21 2020, 10:36 AM · Restricted Project
ychen accepted D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.
Dec 21 2020, 10:04 AM · Restricted Project
ychen updated the diff for D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.
  • update to the landed version.
Dec 21 2020, 10:01 AM · Restricted Project
ychen added a comment to D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.

I'll update this to the correct/landed version. Sorry for the noise.

Dec 21 2020, 9:55 AM · Restricted Project
ychen accepted D93261: [NewPM] Add TargetMachine method to add alias analyses.

LGTM. The next step is to use this in AMDGPU and add tests?

Dec 21 2020, 9:54 AM · Restricted Project
ychen added a comment to D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.

The latest patch looks like it adds a lot more than the original change, is that intended?

Dec 21 2020, 9:52 AM · Restricted Project
ychen added a comment to D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.

ping?

Dec 21 2020, 9:19 AM · Restricted Project

Dec 16 2020

ychen added a comment to D90782: [LTO] set data layout for module before optimize&codegen.
In D90782#2459370, @pcc wrote:

I don't think we should do this unless it fixes a bug. What happens if you remove it from the other two places?

Dec 16 2020, 7:23 PM · Restricted Project
ychen added a comment to D90782: [LTO] set data layout for module before optimize&codegen.

Not for a concrete bug, but for consistency only. Basically, it makes the module data layout match target data layout before opt&codegen starts under all circumstances (LTO/clang).

Dec 16 2020, 6:24 PM · Restricted Project

Dec 14 2020

ychen added a comment to D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.

@dblaikie The laying issue in 31ecf8d29d81d196374a562c6d2bd2c25a62861e is addressed here. Do you mind taking another look? Thanks!

The last delta on the patch is fairly large - not sure I can absorb it all. If the problematic dependency is no longer present, that's the key thing - I'm happy to take your word for it, if you've checked the included headers/grep'd for references of whichever libraries were incorrectly connected.

Dec 14 2020, 6:20 PM · Restricted Project
ychen requested review of D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.

@dblaikie The laying issue in 31ecf8d29d81d196374a562c6d2bd2c25a62861e is addressed here. Do you mind taking another look? Thanks!

Dec 14 2020, 9:24 AM · Restricted Project

Dec 9 2020

ychen committed rGfc3942526f5c: [NFCI] Add a missing triple in clang/test/CodeGen/ppc64le-varargs-f128.c (authored by ychen).
[NFCI] Add a missing triple in clang/test/CodeGen/ppc64le-varargs-f128.c
Dec 9 2020, 6:18 PM
ychen committed rG8b23b3ab3aea: [NFCI] Add missing triple to several LTO tests (authored by ychen).
[NFCI] Add missing triple to several LTO tests
Dec 9 2020, 1:14 PM
ychen added a comment to D83607: [NewPM][CodeGen] Port MIRPrinter to NewPM.

Should we get the llc testing infra working with the NPM before porting passes?

Dec 9 2020, 12:40 PM · Restricted Project
ychen added a reviewer for D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager: dblaikie.
Dec 9 2020, 12:17 PM · Restricted Project
ychen updated the diff for D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.

fix the laying issue.

  • change buildCodeGenPipeline signature to take pass manager references as inputs.
Dec 9 2020, 12:11 PM · Restricted Project
ychen reopened D67687: [NewPM][CodeGen] Introduce machine pass and machine pass manager.
Dec 9 2020, 12:11 PM · Restricted Project

Dec 8 2020

ychen committed rG1821265db681: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the… (authored by ychen).
[Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the…
Dec 8 2020, 10:14 AM
ychen closed D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation.
Dec 8 2020, 10:14 AM · Restricted Project, Restricted Project

Dec 7 2020

ychen added inline comments to D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation.
Dec 7 2020, 8:15 PM · Restricted Project, Restricted Project
ychen updated the diff for D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation.
  • clang/test/Misc/time-passes.c: add -fno-experimental-new-pass-manager
  • llvm/test/Other/time-passes.ll: makes sure each pass has one entry.
Dec 7 2020, 8:13 PM · Restricted Project, Restricted Project
ychen requested review of D92781: [NewPM][CodeGen] Port FreeMachineFunction to NPM.
Dec 7 2020, 11:54 AM · Restricted Project
ychen added a reviewer for D83607: [NewPM][CodeGen] Port MIRPrinter to NewPM: aeubanks.
Dec 7 2020, 11:51 AM · Restricted Project
ychen added reviewers for D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation: aeubanks, asbirlea.
Dec 7 2020, 11:42 AM · Restricted Project, Restricted Project
ychen added a reviewer for D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation: lattner.
Dec 7 2020, 9:25 AM · Restricted Project, Restricted Project

Dec 4 2020

ychen updated the diff for D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation.
  • fix rebase error
Dec 4 2020, 12:34 PM · Restricted Project, Restricted Project

Dec 3 2020

ychen added a comment to D87216: [NewPM] Support --print-before/after in NPM.

It is very unfortunate that we have to manage and translate between two sets of names (one pass name and one type name). This makes me wonder if we just keep the pass name as the return value of PassInfoMixin::name and get rid of class name everywhere. Right now I couldn't think of anything is blocking us from doing that. WDYT? @asbirlea ?

We'd have to move the names from PassRegistry.def to every pass class definition which would be a lot of work but definitely feasible.

Dec 3 2020, 11:54 AM · Restricted Project, Restricted Project
ychen added a reviewer for D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation: fedor.sergeev.
Dec 3 2020, 10:17 AM · Restricted Project, Restricted Project
ychen accepted D87216: [NewPM] Support --print-before/after in NPM.

It is very unfortunate that we have to manage and translate between two sets of names (one pass name and one type name). This makes me wonder if we just keep the pass name as the return value of PassInfoMixin::name and get rid of class name everywhere. Right now I couldn't think of anything is blocking us from doing that. WDYT? @asbirlea ?

Dec 3 2020, 10:04 AM · Restricted Project, Restricted Project

Dec 2 2020

ychen updated the diff for D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation.
  • rebase
Dec 2 2020, 11:25 AM · Restricted Project, Restricted Project

Dec 1 2020

ychen added inline comments to D81958: [clangd] Add library to semantically strip flags by name..
Dec 1 2020, 8:40 PM · Restricted Project
ychen requested review of D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation.
Dec 1 2020, 4:23 PM · Restricted Project, Restricted Project
ychen accepted D92138: [LTO][NewPM] Run verifier when doing LTO.

LGTM.

Dec 1 2020, 9:51 AM · Restricted Project

Nov 30 2020

ychen added inline comments to D70655: [AutoFDO] Top-down Inlining for specialization with context-sensitive profile.
Nov 30 2020, 7:57 PM · Restricted Project
ychen added inline comments to D82919: [SampleFDO] Enable sample-profile-top-down-load by default..
Nov 30 2020, 7:54 PM · Restricted Project
ychen added inline comments to D82919: [SampleFDO] Enable sample-profile-top-down-load by default..
Nov 30 2020, 3:35 PM · Restricted Project

Nov 24 2020

ychen accepted D91804: [NewPM] Add pipeline EP callback after initial frontend cleanup.

LGTM. Thanks!

Nov 24 2020, 7:09 PM · Restricted Project
ychen added a comment to D91804: [NewPM] Add pipeline EP callback after initial frontend cleanup.

EarlySimplificationEPCallback?

Nov 24 2020, 6:17 PM · Restricted Project

Nov 23 2020

ychen added a comment to D91804: [NewPM] Add pipeline EP callback after initial frontend cleanup.

I don't think "ModuleOptimizer" in the name makes sense, the association can come from the "Early" part. Either keep the naming as is, or "EarlyAfterStart" if you want to define order against the other callbacks.
ychen@ so you have a better naming suggestion?

Nov 23 2020, 4:34 PM · Restricted Project
ychen added a comment to D51276: [New PM][PassTiming] implement -time-passes for the new pass manager.

as for the per-pass-name aggregation - I was going to supply a follow-up patch that changes -time-passes from boolean option to -time-passes=<aggregation-type>.
Perhaps aggregation-type should be 'aggregate' by default, and 'invocations' providing per-invocation info.
Yet I dont want to just remove the possibility of getting a more fine-grained data that we have in this patch.

Yeah, i definitely like having the per-invocation information. I'm just suggesting that (eventually, happy for this to come in follow-ups) we'll probably want the default to be aggregated a bit.

Ping on getting this aggregation. I just tried running -ftime-report on a large file, and got >2 million lines of output, with 41K lines for just the InlinerPass alone. This isn't particularly helpful when trying to understand overall impacts of changes on various passes.

Nov 23 2020, 3:27 PM · Restricted Project
ychen accepted D91683: Port -print-memderefs to NPM.

LGTM

Nov 23 2020, 11:37 AM · Restricted Project

Nov 19 2020

ychen added a comment to D91804: [NewPM] Add pipeline EP callback after initial frontend cleanup.

FWIW, could we keep naming it ModuleOptimizerEarlyEPCallback? That sounds pretty intuitive to me and reminds users of the old name. Is the renaming for using the prefix Pipeline?

Nov 19 2020, 11:02 PM · Restricted Project

Nov 14 2020

ychen accepted D91477: [DCE] Port -redundant-dbg-inst-elim to NPM.

LGTM

Nov 14 2020, 9:40 AM · Restricted Project

Nov 13 2020

ychen committed rGa22335416110: [CGProfile] allows bitcast in metadata node storing function pointers (authored by ychen).
[CGProfile] allows bitcast in metadata node storing function pointers
Nov 13 2020, 9:29 AM
ychen closed D88433: [CGProfile] allows bitcast in metadata node storing function pointers.
Nov 13 2020, 9:29 AM · Restricted Project
ychen retitled D88433: [CGProfile] allows bitcast in metadata node storing function pointers from [IRMover] Fix up "CG Profile" MDNode after RAUW to [CGProfile] allows bitcast in metadata node storing function pointers.
Nov 13 2020, 9:24 AM · Restricted Project

Nov 12 2020

ychen updated the diff for D88433: [CGProfile] allows bitcast in metadata node storing function pointers.
  • formatting
Nov 12 2020, 5:25 PM · Restricted Project
ychen updated the diff for D88433: [CGProfile] allows bitcast in metadata node storing function pointers.
  • address comments: update comment, check output making sure bitcast is there.
Nov 12 2020, 5:22 PM · Restricted Project
ychen accepted D90870: [NFC][NewPM] Reuse PassBuilder callbacks with -O0.

This is NFC and looks like a nice cleaup. So LGTM.

Nov 12 2020, 10:54 AM · Restricted Project

Nov 10 2020

ychen abandoned D88062: [ARM] add .f16 -> .16 token alias.

Abandoning. It doesn't feel like a trivial fix and I could workaround this offline.

Nov 10 2020, 10:20 AM · Restricted Project

Nov 5 2020

ychen added a reviewer for D88433: [CGProfile] allows bitcast in metadata node storing function pointers: zequanwu.
Nov 5 2020, 9:44 AM · Restricted Project

Nov 4 2020

ychen accepted D90777: [NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback.
Nov 4 2020, 11:58 AM · Restricted Project
ychen added a comment to D90777: [NewPM] Add OptimizationLevel param to registerPipelineStartEPCallback.

LGTM

Nov 4 2020, 11:58 AM · Restricted Project
ychen requested review of D90782: [LTO] set data layout for module before optimize&codegen.
Nov 4 2020, 11:55 AM · Restricted Project
ychen added inline comments to D90486: [NewPM] Add OptimizationLevel param to TargetMachine::registerPassBuilderCallbacks().
Nov 4 2020, 9:18 AM · Restricted Project, Restricted Project

Nov 2 2020

ychen added a reviewer for D88433: [CGProfile] allows bitcast in metadata node storing function pointers: Bigcheese.
Nov 2 2020, 10:23 AM · Restricted Project
ychen updated the diff for D88433: [CGProfile] allows bitcast in metadata node storing function pointers.
  • revert fixup in IRMover
  • allow CGProfile metadata node representing edge to use bitcast.
Nov 2 2020, 10:22 AM · Restricted Project

Oct 27 2020

ychen added inline comments to D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0.
Oct 27 2020, 6:27 PM · Restricted Project, Restricted Project
ychen added inline comments to D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0.
Oct 27 2020, 6:02 PM · Restricted Project, Restricted Project
ychen added inline comments to D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0.
Oct 27 2020, 5:21 PM · Restricted Project, Restricted Project