Page MenuHomePhabricator

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

xur (Rong Xu)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 20 2015, 4:19 PM (422 w, 1 d)

Recent Activity

Aug 16 2023

xur accepted D157750: Properly handle -fsplit-machine-functions for fatbinary compilation.

lgtm

Aug 16 2023, 3:38 PM · Restricted Project, Restricted Project, Restricted Project

Jul 20 2023

xur accepted D155888: [nfc] Renamed ICallPromotionFunc to InidrectCallPromoter.

LGTM.

Jul 20 2023, 2:59 PM · Restricted Project, Restricted Project
xur added a comment to D155212: [nfc] small maintainability IndirectCallPromotion changes.

How about we get rid of the module field? The function passed in all associating with the module so we can get the module from there. And there seems only one use of M (when calling annotateValueSite).
Other changes look good to me.

Jul 20 2023, 2:06 PM · Restricted Project, Restricted Project

Jul 17 2023

xur accepted D155253: [CodeGen] Separate MachineFunctionSplitter logic for different profile types.

looks good to me.

Jul 17 2023, 1:46 PM · Restricted Project, Restricted Project

Jul 13 2023

xur added a comment to D152399: [CodeGen] Fine tune MachineFunctionSplitPass (MFS) for FSAFDO. .

It seems that we now need to specify "-mllvm -mfs-psi-cutoff=0" to enable the MFS for FSAFDO, if we want to get the same optimization behavior. This is not good for usage adoption.
I think if the users want to enable MFS in FSAFDO, they should only need to add -fsplit-machine-functions. They should not need to use ANY extra internal options.

Jul 13 2023, 1:07 PM · Restricted Project, Restricted Project

Jul 12 2023

xur accepted D155027: [nfc] simplify promoteIndirectCalls.

LGTM. Thanks for the cleanup!

Jul 12 2023, 1:59 PM · Restricted Project, Restricted Project

Jul 5 2023

xur accepted D152399: [CodeGen] Fine tune MachineFunctionSplitPass (MFS) for FSAFDO. .

LGTM.

Jul 5 2023, 3:28 PM · Restricted Project, Restricted Project
xur added a comment to D152399: [CodeGen] Fine tune MachineFunctionSplitPass (MFS) for FSAFDO. .

we see a 1.2% performance improvement in clang benchmark, 0.9% QPS improvement in our internal search benchmark, and 3%-5% improvement in internal storage benchmark.

This looks promising. We saw improvements from MFS when used with CSSPGO too, but the improvements were smaller than the numbers here. You are not using Propeller or BOLT in your perf testing above, right?

What is the baseline in your experiments? are you comparing 1) FS-AFDO w/ MFS vs FS-AFDO w/o MFS, all using this change; or comparing 2) after vs before this patch, using FS-AFDO + MFS on both sides?

+@hoy @wlei

! In D152399#4407001, @shenhan wrote:
What is the baseline in your experiments? are you comparing 1) FS-AFDO w/ MFS vs FS-AFDO w/o MFS, all using this change; or comparing 2) after vs before this patch, using FS-AFDO + MFS on both sides?

Thanks. I was comparing "1) FS-AFDO w/ MFS vs FS-AFDO w/o MFS". And FS-AFDO profile is collected via -improved-fs-discriminator=true.

Jul 5 2023, 3:28 PM · Restricted Project, Restricted Project
xur added inline comments to D152399: [CodeGen] Fine tune MachineFunctionSplitPass (MFS) for FSAFDO. .
Jul 5 2023, 3:15 PM · Restricted Project, Restricted Project
xur added inline comments to D152577: Part 2 of Fine tune MachineFunctionSplitPass (MFS) for FSAFDO..
Jul 5 2023, 2:57 PM · Restricted Project, Restricted Project
xur accepted D152577: Part 2 of Fine tune MachineFunctionSplitPass (MFS) for FSAFDO..

LGTM.

Jul 5 2023, 2:09 PM · Restricted Project, Restricted Project

Jun 9 2023

xur added inline comments to D152577: Part 2 of Fine tune MachineFunctionSplitPass (MFS) for FSAFDO..
Jun 9 2023, 1:10 PM · Restricted Project, Restricted Project

Apr 24 2023

xur added a comment to D148876: [IndirectCallPromotion][SimpifyCFG] Preserve indirect callsites in hoist/sink when merging !prof is unprofitable and merge these callsites after ICP completes in a build pipeline.

Thanks for the illustration. For AutoFDO, I took a look at the debug info merger (https://github.com/llvm/llvm-project/blob/a17b71d17f853350dcd6c72ab141b196d7caec2a/llvm/lib/IR/DebugInfoMetadata.cpp#L114). Here is my understanding:

  1. For two callsites that are originally from different lines of a function, the merged location will have a zero line number. This basically means the value profile for the merged callsite will be dropped by the sample loader.

Thanks for checking. I suspect bugs like this may exist, but it is orthogonal to the problem at hand.

Apr 24 2023, 12:33 PM · Restricted Project, Restricted Project
xur added a comment to D148903: [PGO] Avoid potential const_cast UB (NFC).

Thanks for working on this.
PGOEdge is shared by PGO instrumentation pass and PGO profile-use pass. We cast away const for PGO instrumentation. But for PGO profile-use, we don't change the BB. I would prefer to keep the const for profile-use passes. So I think a better fix is to make PGOEdge a template class, one with const and one without.

Apr 24 2023, 9:30 AM · Restricted Project, Restricted Project

Apr 20 2023

xur added a comment to D148746: [ThinLTO] Remove BlockCount for non partial sample profile builds.

LGTM.

Apr 20 2023, 2:15 PM · Restricted Project, Restricted Project, Restricted Project

Mar 9 2023

xur committed rGebe09e2a9556: [FSAFDO] Improve FS discriminator encoding (authored by xur).
[FSAFDO] Improve FS discriminator encoding
Mar 9 2023, 11:20 PM · Restricted Project, Restricted Project
xur closed D145171: [FSAFDO] Improve FS discriminator encoding.
Mar 9 2023, 11:19 PM · Restricted Project, Restricted Project
xur updated the summary of D145171: [FSAFDO] Improve FS discriminator encoding.
Mar 9 2023, 10:08 AM · Restricted Project, Restricted Project
xur added a comment to D145171: [FSAFDO] Improve FS discriminator encoding.

The performance for removing BBSize from discriminator hash is out: it shows a slightly gain on performance, like ~0.2% vs with BBsize in the hash. I will remove BBSize from the hash.

Good to know removing it helps perf. Can you please update the summary as well? LGTM otherwise.

Mar 9 2023, 10:06 AM · Restricted Project, Restricted Project

Mar 8 2023

xur updated the diff for D145171: [FSAFDO] Improve FS discriminator encoding.

Integrated review comments/suggestions from Wenlei and Hongtao:
(1) remove BBSize from hash
(2) use less expensive hash function
(3) better names for getSubprogramLinkageName()

Mar 8 2023, 2:43 PM · Restricted Project, Restricted Project
xur added a comment to D145171: [FSAFDO] Improve FS discriminator encoding.

The performance for removing BBSize from discriminator hash is out: it shows a slightly gain on performance, like ~0.2% vs with BBsize in the hash. I will remove BBSize from the hash.

Mar 8 2023, 1:47 PM · Restricted Project, Restricted Project
xur added a comment to D145171: [FSAFDO] Improve FS discriminator encoding.

This reduces the hash conflicts.

Curious how did you check/detect conflicts/collisions?

Mar 8 2023, 1:44 PM · Restricted Project, Restricted Project

Mar 6 2023

xur updated the diff for D145171: [FSAFDO] Improve FS discriminator encoding.

Integrated Hongtao's review suggestion.

Mar 6 2023, 5:14 PM · Restricted Project, Restricted Project
xur added inline comments to D145171: [FSAFDO] Improve FS discriminator encoding.
Mar 6 2023, 1:55 PM · Restricted Project, Restricted Project
xur added a comment to D145171: [FSAFDO] Improve FS discriminator encoding.

Thanks Hongtao for the reviews and comments. I'll update the patch shortly.

Mar 6 2023, 10:44 AM · Restricted Project, Restricted Project

Mar 2 2023

xur added inline comments to D145171: [FSAFDO] Improve FS discriminator encoding.
Mar 2 2023, 4:12 PM · Restricted Project, Restricted Project
xur requested review of D145171: [FSAFDO] Improve FS discriminator encoding.
Mar 2 2023, 10:11 AM · Restricted Project, Restricted Project

Mar 1 2023

xur abandoned D143460: [CSPGO][CHR] Disable CHR in ThinLTOPostLink mode.

Yes. This patch is obsolete now.

Mar 1 2023, 10:46 AM · Restricted Project, Restricted Project

Feb 27 2023

xur committed rG666731660c73: [Pass][CHR] Move ControlHeightReduction to module optimization pipeline (authored by xur).
[Pass][CHR] Move ControlHeightReduction to module optimization pipeline
Feb 27 2023, 11:54 AM · Restricted Project, Restricted Project
xur closed D144769: [Pass] Move ControlHeightReduction to module optimization pipeline.
Feb 27 2023, 11:53 AM · Restricted Project, Restricted Project

Feb 24 2023

xur requested review of D144769: [Pass] Move ControlHeightReduction to module optimization pipeline.
Feb 24 2023, 6:09 PM · Restricted Project, Restricted Project

Feb 16 2023

xur accepted D144209: [ThinLTO/WPD] Handle function alias in vtable correctly.

LGTM.

Feb 16 2023, 12:52 PM · Restricted Project, Restricted Project
xur accepted D143424: [Pipeline] Move ControlHeightReduction to module optimization pipeline.

I did a perf test and I think this is fine. LGTM.

Feb 16 2023, 9:56 AM · Restricted Project, Restricted Project

Feb 6 2023

xur added a comment to D143424: [Pipeline] Move ControlHeightReduction to module optimization pipeline.

I think this is the reasonable place for CHR.
With this we will do a lot less CHR, we need to run a performance test to ensure there is no regression.

Feb 6 2023, 9:29 PM · Restricted Project, Restricted Project
xur added a comment to D143460: [CSPGO][CHR] Disable CHR in ThinLTOPostLink mode.

Yes. D143424 is actually what I wanted to do in the following up patch. We need to do some performance test though.

Feb 6 2023, 9:25 PM · Restricted Project, Restricted Project
xur requested review of D143460: [CSPGO][CHR] Disable CHR in ThinLTOPostLink mode.
Feb 6 2023, 8:34 PM · Restricted Project, Restricted Project

Dec 15 2022

xur added a comment to D139603: [llvm-profdata] Add option to cap profile output size.

I have some high level questions:
(1) have you considered removing samples with smaller values across the program-- it's like downsampling. Comparing to removing functions with smaller total counts, I think that results in a more consistent profile.
(2) if we choose to remove function, and you sort the function with total count, should we find the exactly place to cut to satisfy the size limit? In theory it should as the profile organized in unit of function. You can keep writing to the buffer until it reaches the limits. Of cause there are some section data for extbinary and summary, but they should be able to compute. Using heuristic to guess the function to remove and doing it iteratively does not seem to be appealing here.

Dec 15 2022, 2:05 PM · Restricted Project, Restricted Project

Dec 7 2022

xur updated subscribers of D138333: [CHR] Add a threshold for the code duplication.

I kind of agree on your point. I also think ModuleOPtimization pipeline
fits better for this pass. This pass is very aggressive in terms of control
flow. In my cases it duplicated the whole function.

Dec 7 2022, 2:17 PM · Restricted Project, Restricted Project

Dec 2 2022

xur committed rG0b2473936d36: [PGO][indirect-call-promotion] Add extra parameter check for musttail callsite (authored by xur).
[PGO][indirect-call-promotion] Add extra parameter check for musttail callsite
Dec 2 2022, 10:52 AM · Restricted Project, Restricted Project
xur closed D139051: [PGO][indirect-call-promotion] Add extra parameter check for musttail callsite.
Dec 2 2022, 10:52 AM · Restricted Project, Restricted Project
xur updated the diff for D139051: [PGO][indirect-call-promotion] Add extra parameter check for musttail callsite.

Add comments in the tests suggested by Teresa.

Dec 2 2022, 9:56 AM · Restricted Project, Restricted Project

Nov 30 2022

xur updated the diff for D139051: [PGO][indirect-call-promotion] Add extra parameter check for musttail callsite.

Followed Reid's suggestion to explicitly check the IR after the pass.

Nov 30 2022, 11:33 PM · Restricted Project, Restricted Project
xur requested review of D139051: [PGO][indirect-call-promotion] Add extra parameter check for musttail callsite.
Nov 30 2022, 3:26 PM · Restricted Project, Restricted Project

Nov 29 2022

xur committed rG077baefc998d: [llvm-profdata] Use flattening sample profile in profile supplementation (authored by xur).
[llvm-profdata] Use flattening sample profile in profile supplementation
Nov 29 2022, 10:37 PM · Restricted Project, Restricted Project
xur closed D138893: [llvm-profdata] Use flattening sample profile in profile supplementation.
Nov 29 2022, 10:36 PM · Restricted Project, Restricted Project
xur added inline comments to D138893: [llvm-profdata] Use flattening sample profile in profile supplementation.
Nov 29 2022, 2:29 PM · Restricted Project, Restricted Project

Nov 28 2022

xur updated the diff for D138893: [llvm-profdata] Use flattening sample profile in profile supplementation.

Removed lambda updateSampleMap() -- it was from the early version and now it was no longer needed as we just had one caller.

Nov 28 2022, 11:45 PM · Restricted Project, Restricted Project
xur updated the diff for D138893: [llvm-profdata] Use flattening sample profile in profile supplementation.

Addressed David's review comments.

Nov 28 2022, 11:25 PM · Restricted Project, Restricted Project
xur added inline comments to D138893: [llvm-profdata] Use flattening sample profile in profile supplementation.
Nov 28 2022, 10:10 PM · Restricted Project, Restricted Project
xur updated the diff for D138893: [llvm-profdata] Use flattening sample profile in profile supplementation.

Simplified the patch a bit by refactoring the existing interface.

Nov 28 2022, 9:40 PM · Restricted Project, Restricted Project
xur requested review of D138893: [llvm-profdata] Use flattening sample profile in profile supplementation.
Nov 28 2022, 9:27 PM · Restricted Project, Restricted Project

Nov 22 2022

xur committed rG6327d263f5e2: [CHR] Add a threshold for the code duplication (authored by xur).
[CHR] Add a threshold for the code duplication
Nov 22 2022, 11:38 AM · Restricted Project, Restricted Project
xur closed D138333: [CHR] Add a threshold for the code duplication.
Nov 22 2022, 11:38 AM · Restricted Project, Restricted Project

Nov 21 2022

xur added inline comments to D138333: [CHR] Add a threshold for the code duplication.
Nov 21 2022, 3:07 PM · Restricted Project, Restricted Project
xur added inline comments to D138333: [CHR] Add a threshold for the code duplication.
Nov 21 2022, 2:12 PM · Restricted Project, Restricted Project
xur added a comment to D138332: [Passes] Don't add CHR pass for CSIRInstr build in PostLink.

Where is the CSFDO annotation step in relation to this pass? If it would be annotated before this point on the subsequent CSFDO use compile, is the idea that we might as well wait for the CSFDO profile before performing post-link CHR?

Presumably even if the profile is the same as the pre-link CHR, the code could be different after cross-module importing, inlining, other cleanup, so wouldn't that open up more opportunities potentially for CHR?

Nov 21 2022, 2:01 PM · Restricted Project, Restricted Project

Nov 18 2022

xur requested review of D138333: [CHR] Add a threshold for the code duplication.
Nov 18 2022, 3:07 PM · Restricted Project, Restricted Project
xur requested review of D138332: [Passes] Don't add CHR pass for CSIRInstr build in PostLink.
Nov 18 2022, 3:07 PM · Restricted Project, Restricted Project

Nov 2 2022

xur committed rG8acb881c1927: [PGO] Add a threshold for number of critical edges in PGO (authored by xur).
[PGO] Add a threshold for number of critical edges in PGO
Nov 2 2022, 10:24 AM · Restricted Project, Restricted Project
xur closed D137184: [PGO] Add a threshold for number of critical edges in PGO.
Nov 2 2022, 10:24 AM · Restricted Project, Restricted Project

Nov 1 2022

xur updated the diff for D137184: [PGO] Add a threshold for number of critical edges in PGO.

Add a test case, per David's suggestion.

Nov 1 2022, 3:25 PM · Restricted Project, Restricted Project
xur added a comment to D137184: [PGO] Add a threshold for number of critical edges in PGO.

Why is number of critical edges (as opposed to IR size or number of blocks) a better indicator for function size related build speed issues?

Nov 1 2022, 1:57 PM · Restricted Project, Restricted Project
xur requested review of D137184: [PGO] Add a threshold for number of critical edges in PGO.
Nov 1 2022, 11:54 AM · Restricted Project, Restricted Project

Oct 23 2022

xur committed rG6cee5393371f: [Clang] Change AnonStructIds in MangleContext to per-function based (authored by xur).
[Clang] Change AnonStructIds in MangleContext to per-function based
Oct 23 2022, 10:44 PM · Restricted Project, Restricted Project
xur closed D136397: [Clang] Change AnonStructIds in MangleContext to per-function based.
Oct 23 2022, 10:43 PM · Restricted Project, Restricted Project

Oct 21 2022

xur added inline comments to D136397: [Clang] Change AnonStructIds in MangleContext to per-function based.
Oct 21 2022, 12:00 PM · Restricted Project, Restricted Project

Oct 20 2022

xur requested review of D136397: [Clang] Change AnonStructIds in MangleContext to per-function based.
Oct 20 2022, 5:14 PM · Restricted Project, Restricted Project

Oct 12 2022

xur accepted D134203: [PGO] Avoid assertion on profile generated from code without an exit block.

Looks good to me.

Oct 12 2022, 10:35 AM · Restricted Project, Restricted Project

Oct 7 2022

xur added a comment to D135427: [LTO] Make local linkage GlobalValue in non-prevailing COMDAT available_externally.

Regular LTO is not fixed yet.

Looks like handleNonPrevailingComdat in LTO.cpp would need a similar fix.

When FuncImport.cpp ...

Note that while this functionality currently lives in FunctionImport.cpp it isn't really related to function importing, rather to ThinLTO symbol resolution. So mentioning the file name might be a little misleading (but if you do, correct it to FunctionImport.cpp).

@xur can you confirm this fixes the original problem?

Oct 7 2022, 12:43 PM · Restricted Project, Restricted Project

Oct 6 2022

xur requested review of D135425: [InstrProf] Disable marking COMDAT profd variable as private linkage.
Oct 6 2022, 10:49 PM · Restricted Project, Restricted Project

Sep 21 2022

xur added a comment to D134203: [PGO] Avoid assertion on profile generated from code without an exit block.

This is an interesting example. When we design this, we assume there is at least one exit node in the function. And we create fake edges from exit node(s). This way we create a close graph.

For this case, we don't have an exit node and I think the function exits from a non-return call to "zeroexit". So the edge propagation will terminate incompletely.

I think this is a corner case but let me think how to handle this.

Sep 21 2022, 11:31 AM · Restricted Project, Restricted Project

Sep 19 2022

xur added a comment to D134203: [PGO] Avoid assertion on profile generated from code without an exit block.

This is an interesting example. When we design this, we assume there is at least one exit node in the function. And we create fake edges from exit node(s). This way we create a close graph.

Sep 19 2022, 3:26 PM · Restricted Project, Restricted Project
xur added a comment to D134203: [PGO] Avoid assertion on profile generated from code without an exit block.

I'm fine with change. But can you add a warning message here? I would be helpful to know something is wrong here.

Sep 19 2022, 2:28 PM · Restricted Project, Restricted Project
xur added a comment to D134203: [PGO] Avoid assertion on profile generated from code without an exit block.

This looks like related to infinite loops.

Sep 19 2022, 2:25 PM · Restricted Project, Restricted Project

Sep 7 2022

xur added a comment to D133121: [PGO] Annotate branch_weight for invoke instruction.

Thanks for the change. Wondering if you saw performance improvement with it.

The corresponding change on the sample profile side isn't included, do you have any plan for it?

Yes. For AutoFDO, we still need some change for the invoke in sampleloader
The situation is slightly different in AutoFDO. In FDO, we do branch_weight annotation first, then do the VP.

In AutoFDO, we do VP annotation first and then branch_weight annotation. We need to set the branch_weight metadata where there is already a VP metadata (which is the reverse of FDO).
I was planning to have a separated patch for AutoFDO, but I can also include it in this patch.

A separate patch sounds good, thanks.

AutoFDO is less problematic as branch_weights metadata overwrites VP in the end. (and many VP metadata is already consumed by the prompting in preinliner).

In FDO, VP metadata overwrites branch_weights -- This is bad as we lost more information in BPI/BFI.
(branch_weights is more important for downstream opt).

It looks like same happens to autofdo, i.e, no branch_weights assigned to indirect invokes? https://github.com/llvm/llvm-project/blob/7b81a81d5f9cccb1b091cfc5264bc483b0acc83a/llvm/lib/Transforms/IPO/SampleProfile.cpp#L1628

Oh, I guess branch_weight is attached to invokes that are promoted from an indirect invoke, so it is better handled than the FDO case.

the branch weight for invoke is set in line 1724 (https://github.com/llvm/llvm-project/blob/7b81a81d5f9cccb1b091cfc5264bc483b0acc83a/llvm/lib/Transforms/IPO/SampleProfile.cpp#L1724)

line 1628 sets the call's branch-weight (which is a single number, call counts) -- this should be overwritten by line 1724.

Line 1724 is guarded by !TI->extractProfTotalWeight(TempWeight) which is non-zero for invokes with !VP?

Sep 7 2022, 11:01 AM · Restricted Project, Restricted Project
xur added a comment to D133121: [PGO] Annotate branch_weight for invoke instruction.

Thanks for the change. Wondering if you saw performance improvement with it.

The corresponding change on the sample profile side isn't included, do you have any plan for it?

Yes. For AutoFDO, we still need some change for the invoke in sampleloader
The situation is slightly different in AutoFDO. In FDO, we do branch_weight annotation first, then do the VP.

In AutoFDO, we do VP annotation first and then branch_weight annotation. We need to set the branch_weight metadata where there is already a VP metadata (which is the reverse of FDO).
I was planning to have a separated patch for AutoFDO, but I can also include it in this patch.

A separate patch sounds good, thanks.

AutoFDO is less problematic as branch_weights metadata overwrites VP in the end. (and many VP metadata is already consumed by the prompting in preinliner).

In FDO, VP metadata overwrites branch_weights -- This is bad as we lost more information in BPI/BFI.
(branch_weights is more important for downstream opt).

It looks like same happens to autofdo, i.e, no branch_weights assigned to indirect invokes? https://github.com/llvm/llvm-project/blob/7b81a81d5f9cccb1b091cfc5264bc483b0acc83a/llvm/lib/Transforms/IPO/SampleProfile.cpp#L1628

Oh, I guess branch_weight is attached to invokes that are promoted from an indirect invoke, so it is better handled than the FDO case.

Sep 7 2022, 10:41 AM · Restricted Project, Restricted Project
xur added inline comments to D133121: [PGO] Annotate branch_weight for invoke instruction.
Sep 7 2022, 10:35 AM · Restricted Project, Restricted Project
xur added a comment to D133121: [PGO] Annotate branch_weight for invoke instruction.

Thanks for the change. Wondering if you saw performance improvement with it.

The corresponding change on the sample profile side isn't included, do you have any plan for it?

Yes. For AutoFDO, we still need some change for the invoke in sampleloader
The situation is slightly different in AutoFDO. In FDO, we do branch_weight annotation first, then do the VP.

In AutoFDO, we do VP annotation first and then branch_weight annotation. We need to set the branch_weight metadata where there is already a VP metadata (which is the reverse of FDO).
I was planning to have a separated patch for AutoFDO, but I can also include it in this patch.

A separate patch sounds good, thanks.

Sep 7 2022, 9:12 AM · Restricted Project, Restricted Project
xur added a comment to D133121: [PGO] Annotate branch_weight for invoke instruction.

Thanks for the change. Wondering if you saw performance improvement with it.

The corresponding change on the sample profile side isn't included, do you have any plan for it?

Sep 7 2022, 8:19 AM · Restricted Project, Restricted Project
xur added inline comments to D133121: [PGO] Annotate branch_weight for invoke instruction.
Sep 7 2022, 8:09 AM · Restricted Project, Restricted Project

Sep 6 2022

xur updated the diff for D133121: [PGO] Annotate branch_weight for invoke instruction.

Integrated Hongtao's suggestion.

Sep 6 2022, 11:41 AM · Restricted Project, Restricted Project
xur added inline comments to D133121: [PGO] Annotate branch_weight for invoke instruction.
Sep 6 2022, 11:23 AM · Restricted Project, Restricted Project

Sep 5 2022

xur added a comment to D133121: [PGO] Annotate branch_weight for invoke instruction.

Can you simplify the test case (e.g. stripping the debug info)?

Sep 5 2022, 4:38 PM · Restricted Project, Restricted Project
xur updated the diff for D133121: [PGO] Annotate branch_weight for invoke instruction.

Integrated with review comments.

Sep 5 2022, 4:38 PM · Restricted Project, Restricted Project
xur added a comment to D133121: [PGO] Annotate branch_weight for invoke instruction.

Why is invoke unique here? Can regular call never have both VP and branch weights? Ideally we'd avoid special case for a narrow type of instruction.

Sep 5 2022, 4:20 PM · Restricted Project, Restricted Project
xur added inline comments to D133121: [PGO] Annotate branch_weight for invoke instruction.
Sep 5 2022, 4:17 PM · Restricted Project, Restricted Project

Sep 1 2022

xur committed rG0caa4a9559ed: [PGO] Support PGO annotation of CallBrInst (authored by xur).
[PGO] Support PGO annotation of CallBrInst
Sep 1 2022, 2:35 PM · Restricted Project, Restricted Project
xur closed D133040: [PGO] Support PGO annotation of CallBrInst.
Sep 1 2022, 2:34 PM · Restricted Project, Restricted Project
xur requested review of D133121: [PGO] Annotate branch_weight for invoke instruction.
Sep 1 2022, 9:24 AM · Restricted Project, Restricted Project

Aug 31 2022

xur accepted D132991: [Clang] Give error message for invalid profile path when compiling IR.
Aug 31 2022, 1:49 PM · Restricted Project, Restricted Project
xur requested review of D133040: [PGO] Support PGO annotation of CallBrInst.
Aug 31 2022, 11:54 AM · Restricted Project, Restricted Project
xur added a comment to D132991: [Clang] Give error message for invalid profile path when compiling IR.

I'm fine with this change.

Aug 31 2022, 10:23 AM · Restricted Project, Restricted Project

Aug 29 2022

xur committed rG7bc182ed8abb: fix buildbot build error. (authored by xur).
fix buildbot build error.
Aug 29 2022, 5:02 PM · Restricted Project, Restricted Project
xur committed rGd7ef0c3970c2: [llvm-profdata] Improve profile supplementation (authored by xur).
[llvm-profdata] Improve profile supplementation
Aug 29 2022, 4:58 PM · Restricted Project, Restricted Project
xur closed D132601: [llvm-profdata] Improve profile supplementation.
Aug 29 2022, 4:58 PM · Restricted Project, Restricted Project
xur committed rGdb18f26567be: [llvm-profdata] Handle internal linkage functions in profile supplementation (authored by xur).
[llvm-profdata] Handle internal linkage functions in profile supplementation
Aug 29 2022, 4:21 PM · Restricted Project, Restricted Project, Restricted Project
xur closed D132600: [llvm-profdata] Handle internal linkage functions in profile supplementation.
Aug 29 2022, 4:21 PM · Restricted Project, Restricted Project, Restricted Project
xur committed rGd22c5d0f5520: [llvm-profdata] Adjust profile supplementation heuristics (authored by xur).
[llvm-profdata] Adjust profile supplementation heuristics
Aug 29 2022, 2:34 PM · Restricted Project, Restricted Project
xur closed D132602: [llvm-profdata] Adjust profile supplementation heuristics.
Aug 29 2022, 2:34 PM · Restricted Project, Restricted Project
xur added a comment to D131306: [llvm][misexpect] Track provenance of branch weights.

I agreed with Teresa: adding an optional string is better than using a separated metadata here.

Aug 29 2022, 1:52 PM · Restricted Project, Restricted Project, Restricted Project