Page MenuHomePhabricator

hoy (Hongtao Yu)
Software Engineer at Facebook

Projects

User does not belong to any projects.

User Details

User Since
Feb 23 2020, 3:46 PM (160 w, 4 d)

Recent Activity

Today

hoy added inline comments to D146452: [AutoFDO] Use flattened profiles for profile staleness metrics.
Thu, Mar 23, 10:19 AM · Restricted Project, Restricted Project

Yesterday

hoy added inline comments to D146657: [Pseudo Probe] Use the name from debug info to compute GUID in probe desc.
Wed, Mar 22, 2:55 PM · Restricted Project, Restricted Project
hoy accepted D146657: [Pseudo Probe] Use the name from debug info to compute GUID in probe desc.

Good catch, thanks for the fix.

Wed, Mar 22, 2:52 PM · Restricted Project, Restricted Project

Tue, Mar 21

hoy added inline comments to D146452: [AutoFDO] Use flattened profiles for profile staleness metrics.
Tue, Mar 21, 6:03 PM · Restricted Project, Restricted Project
hoy updated the diff for D130717: [SCCIterator] Fix an issue in scc_member_iterator sorting.

Updating D130717: [SCCIterator] Fix an issue in scc_member_iterator sorting

Tue, Mar 21, 11:05 AM · Restricted Project, Restricted Project

Mon, Mar 13

hoy added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.
In D83906#4186887, @hoy wrote:
In D83906#4183453, @hoy wrote:

Wondering if we can come up with a way to tell the optimizer about that, e.g., through a new module flag. When it comes to LTO, the selection of linkonce_odr symbols should already been done and the optimizer may be able to recompute the attributes based on pre-LTO attributes, or at least we can allow IPO to one module only, which should still do a better job than FE does?

I don't think there's much point in passing anything to LTO. There are very few linkonce_odr symbols in LTO, since LTO has the advantage of an export list from the link. Symbols not on the export list are internalized (they're given local linkage).

That sounds to me an opportunity to get a broader IPO done precisely in the prelink optimizer, as long as we find a way to tell it the incoming IR has source fidelity. What do you think about idea of introducing a module flag? Maybe it's worth discussing in the forum as a followup of introducing a cc1 flag for a stable IR gen.

I'm not sure I'm following.

The prelink optimizer will already be internalizing (i.e., NOT exporting) these symbols. That should be enough. AFAICT, it's non-LTO pipelines that might have headroom after this is reverted.

Mon, Mar 13, 9:10 AM · Restricted Project, Restricted Project

Sat, Mar 11

hoy added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.
In D83906#4183453, @hoy wrote:

Wondering if we can come up with a way to tell the optimizer about that, e.g., through a new module flag. When it comes to LTO, the selection of linkonce_odr symbols should already been done and the optimizer may be able to recompute the attributes based on pre-LTO attributes, or at least we can allow IPO to one module only, which should still do a better job than FE does?

I don't think there's much point in passing anything to LTO. There are very few linkonce_odr symbols in LTO, since LTO has the advantage of an export list from the link. Symbols not on the export list are internalized (they're given local linkage).

Sat, Mar 11, 1:57 PM · Restricted Project, Restricted Project

Thu, Mar 9

hoy added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.
In D83906#4182847, @hoy wrote:

As far as I know, the optimizer IPO pass that infers function attributes (i..e InferFunctionAttrsPass) is placed at the very beginning of the optimization pipeline. Does this sound to you that the side effects computed for linkonce_odr functions there can be trusted by the rest of the pipeline?

Depends what you mean by "trusted". It assumes the attributes accurately describe the function it sees. The properties promised there will apply if/when the code is inlined. But, since the commit in 2016, it doesn't trust that they fully describe the source semantics, so IPA ignores them when the function is not inlined.

Note that the optimizer doesn't know if its input IR has already been optimized. Is this the first optimizer that has run on the IR, or could side effects have been refined away already? E.g., if the optimization pipeline in question runs at LTO time, the compile-time optimization pipeline has already run.

Thu, Mar 9, 5:11 PM · Restricted Project, Restricted Project
hoy added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.
In D83906#4182428, @hoy wrote:

In C++, you get linkonce_odr all over the place. It's basically all functions that are defined in C++ headers that are available for inlining.

On the other hand, the frontend knows the token sequence from the source language. It knows whether function B is inherently nounwind based on its ODR token sequence; in which case, it's safe to use the attribute for an IPA peephole.

Thanks for the detailed explanation again! As you pointed out previously, linkonce_odr is something the front end can optimize. I'm wondering why the front end is confident about that the linker would not replace the current definition with something else.

The frontend has generated unrefined IR with all side effects from the must-be-ODR-equivalent source still present. It's not until on optimizer gets at it that side effects can be refined away. (Unless the IRGen peepholes are powerful enough to refine away side effects, but I don't believe IRGen does that.)

Since the IR from IRGen is unrefined (still has all side effects present in the source), whatever the linker/loader chooses cannot gain "extra" side effects through de-refinement.

Thu, Mar 9, 1:52 PM · Restricted Project, Restricted Project
hoy added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.

In C++, you get linkonce_odr all over the place. It's basically all functions that are defined in C++ headers that are available for inlining.

Thu, Mar 9, 12:03 PM · Restricted Project, Restricted Project
hoy added a comment to D145171: [FSAFDO] Improve FS discriminator encoding.

The total improvement really depends on programs. On average, I would say 1.5% to 2.0%. For some programs, like clang itself, FSAFDO improve ~3% over AFDO.
There is also a small change on the create_llvm_prof tool side. We will update the tool soon.

Thu, Mar 9, 10:21 AM · Restricted Project, Restricted Project
hoy added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.

Oh, de-refining is pretty nifty / evil. This patch has background:
https://reviews.llvm.org/D18634

Since 2016, the optimizer is not allowed to do IPA on functions that can be de-refined (such as linkonce_odr functions).

Here's a hypothetical problematic scenario for the optimizer:

  • original IR for B has a throw somewhere
  • function A invokes function B
  • in this TU, B is optimized and removes exceptions, and gets marked nounwind
  • function A leverages the nounwind to turn the invoke into a call
  • function B is de-refined at link/load time: linker chooses a *different* function B which still has a throw
  • "evil magic" happens (see the discussions around the patch linked above)
  • a crash is introduced

At first blush, it sounds like this could only be a problem if the code has UB in it. However, read the above patch (and follow-ups, and related discussion) for a variety of examples of non-UB cases where IPA on de-refineable functions introduces crashes. I don't know for sure this could be a problem for nounwind specifically, but in general the LLVM optimizer doesn't look at attributes of de-refineable functions.

(Note that if you're doing LTO (like AutoFDO), this usually won't block optimization, since at LTO time there are very few de-refineable functions (most linkonce_odr functions are internalized, and not exported as weak). So if we added a -cc1 flag to prefer "stable IR" over "frontend peepholes", it would make sense for -flto to imply it.)

On the other hand, the frontend knows the token sequence from the source language. It knows whether function B is inherently nounwind based on its ODR token sequence; in which case, it's safe to use the attribute for an IPA peephole.


BTW, I'm not personally against removing this peephole from the frontend (even without a flag), or limiting it somehow to cases where it doesn't make IR output unstable. I like the idea of stable IRGen output.

Nevertheless, it feels like removing IPA-based peepholes from Clang in the name of stable IRGen output is a change in direction, which might deserve a discussion in the forums rather than in a particular patch review.

Thu, Mar 9, 10:00 AM · Restricted Project, Restricted Project

Wed, Mar 8

hoy added a comment to D83906: [CodeGen] Emit a call instruction instead of an invoke if the called llvm function is marked nounwind.

(Also, can the backend safely optimize an invoke to a linkonce_odr function that's nounwind to a call? I thought it couldn't, in case the function is de-refined to a version that's not nounwind. But the frontend can do it since it has access to the source and knows it can't be de-refined in that way?)

Wed, Mar 8, 8:58 PM · Restricted Project, Restricted Project
hoy accepted 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.

Wed, Mar 8, 3:58 PM · Restricted Project, Restricted Project

Tue, Mar 7

hoy added inline comments to D145171: [FSAFDO] Improve FS discriminator encoding.
Tue, Mar 7, 9:10 AM · Restricted Project, Restricted Project

Mon, Mar 6

hoy added inline comments to D145171: [FSAFDO] Improve FS discriminator encoding.
Mon, Mar 6, 11:28 AM · Restricted Project, Restricted Project

Thu, Mar 2

hoy added inline comments to D145171: [FSAFDO] Improve FS discriminator encoding.
Thu, Mar 2, 5:14 PM · Restricted Project, Restricted Project
hoy added inline comments to D145171: [FSAFDO] Improve FS discriminator encoding.
Thu, Mar 2, 4:46 PM · Restricted Project, Restricted Project
hoy added a comment to D145171: [FSAFDO] Improve FS discriminator encoding.

Thanks for the change! I'm going to start the integration with pseudo probe from here.

Thu, Mar 2, 11:49 AM · Restricted Project, Restricted Project

Feb 15 2023

hoy committed rGc38c8d674383: [PseudoProbe] Refactoring a test (authored by hoy).
[PseudoProbe] Refactoring a test
Feb 15 2023, 2:30 PM · Restricted Project, Restricted Project
hoy closed D144137: [PseudoProbe] Refactoring a test.
Feb 15 2023, 2:30 PM · Restricted Project, Restricted Project
hoy updated the summary of D144137: [PseudoProbe] Refactoring a test.
Feb 15 2023, 2:04 PM · Restricted Project, Restricted Project
hoy added inline comments to D144066: [Pseudo probe] Duplicate probes in vectorized loop body..
Feb 15 2023, 2:04 PM · Restricted Project, Restricted Project
hoy requested review of D144137: [PseudoProbe] Refactoring a test.
Feb 15 2023, 2:03 PM · Restricted Project, Restricted Project
hoy committed rGeddec9de44cd: [Pseudo probe] Duplicate probes in vectorized loop body. (authored by hoy).
[Pseudo probe] Duplicate probes in vectorized loop body.
Feb 15 2023, 10:18 AM · Restricted Project, Restricted Project
hoy closed D144066: [Pseudo probe] Duplicate probes in vectorized loop body..
Feb 15 2023, 10:18 AM · Restricted Project, Restricted Project
hoy added inline comments to D144066: [Pseudo probe] Duplicate probes in vectorized loop body..
Feb 15 2023, 9:54 AM · Restricted Project, Restricted Project
hoy updated the diff for D144066: [Pseudo probe] Duplicate probes in vectorized loop body..

Updating D144066: [Pseudo probe] Duplicate probes in vectorized loop body.

Feb 15 2023, 9:11 AM · Restricted Project, Restricted Project
hoy added inline comments to D144066: [Pseudo probe] Duplicate probes in vectorized loop body..
Feb 15 2023, 9:11 AM · Restricted Project, Restricted Project

Feb 14 2023

hoy added reviewers for D144066: [Pseudo probe] Duplicate probes in vectorized loop body.: wenlei, wlei.
Feb 14 2023, 6:22 PM · Restricted Project, Restricted Project
hoy requested review of D144066: [Pseudo probe] Duplicate probes in vectorized loop body..
Feb 14 2023, 6:21 PM · Restricted Project, Restricted Project

Feb 13 2023

hoy accepted D143948: [loop unroll] Fix `branch-weights` for unrolled loop..

LGTM, thanks for fixing it.

Feb 13 2023, 5:07 PM · Restricted Project, Restricted Project
hoy added inline comments to D143725: [llvm-objdump][ARM] support --symbolize-operands for ARM/ELF.
Feb 13 2023, 10:24 AM · Restricted Project, Restricted Project
hoy committed rG39eb1c6145eb: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to… (authored by hoy).
[CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to…
Feb 13 2023, 9:18 AM · Restricted Project, Restricted Project
hoy closed D143696: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 50000..
Feb 13 2023, 9:18 AM · Restricted Project, Restricted Project

Feb 9 2023

hoy updated the summary of D143696: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 50000..
Feb 9 2023, 5:54 PM · Restricted Project, Restricted Project
hoy requested review of D143696: [CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 50000..
Feb 9 2023, 5:53 PM · Restricted Project, Restricted Project

Feb 2 2023

hoy committed rG4d757177df47: [NFC] Add split-file as runtime test dependency (authored by yozhu).
[NFC] Add split-file as runtime test dependency
Feb 2 2023, 11:23 AM · Restricted Project, Restricted Project, Restricted Project
hoy closed D143123: [NFC] Add split-file as runtime test dependency.
Feb 2 2023, 11:22 AM · Restricted Project, Restricted Project, Restricted Project

Jan 31 2023

hoy updated the summary of D142994: [UsersManual] Add llvm-progen as an alternative tool for AutoFDO profile generation..
Jan 31 2023, 10:23 AM · Restricted Project, Restricted Project
hoy requested review of D142994: [UsersManual] Add llvm-progen as an alternative tool for AutoFDO profile generation..
Jan 31 2023, 10:20 AM · Restricted Project, Restricted Project

Jan 30 2023

hoy committed rG950487bddf19: [Pseudo Probe] Do not instrument EH blocks. (authored by hoy).
[Pseudo Probe] Do not instrument EH blocks.
Jan 30 2023, 1:27 PM · Restricted Project, Restricted Project
hoy closed D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 30 2023, 1:27 PM · Restricted Project, Restricted Project
hoy updated the diff for D142747: [Pseudo Probe] Do not instrument EH blocks..

Removing unnecessary header inclusions.

Jan 30 2023, 11:23 AM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 30 2023, 11:22 AM · Restricted Project, Restricted Project
hoy updated the diff for D142747: [Pseudo Probe] Do not instrument EH blocks..

moving the predecessors/successors definition from MachineSSAContext.h to MachineBasicBlocks.h

Jan 30 2023, 11:21 AM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 30 2023, 11:14 AM · Restricted Project, Restricted Project
hoy updated the diff for D142747: [Pseudo Probe] Do not instrument EH blocks..

Updating D142747: [Pseudo Probe] Do not instrument EH blocks.

Jan 30 2023, 11:04 AM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 30 2023, 11:03 AM · Restricted Project, Restricted Project

Jan 27 2023

hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 6:37 PM · Restricted Project, Restricted Project
hoy updated the diff for D142747: [Pseudo Probe] Do not instrument EH blocks..

Updating D142747: [Pseudo Probe] Do not instrument EH blocks.

Jan 27 2023, 3:09 PM · Restricted Project, Restricted Project
hoy updated the diff for D142747: [Pseudo Probe] Do not instrument EH blocks..

Addressing feedbacks.

Jan 27 2023, 3:03 PM · Restricted Project, Restricted Project
hoy added a comment to D142747: [Pseudo Probe] Do not instrument EH blocks..

We've got the same EH-ness propagation code in MFS already: https://reviews.llvm.org/D131824. Consider merging the code?

That diff also used EHPad as seeds for BFS, I thought we only need LandingPads as seeds? Though I think for simple algorithm, having MIR and IR implementation separated is probably fine. I also don't know where to put a merged version..

if (MBB.isEHPad())
  LandingPads.push_back(&MBB);

LandingPads are the only thing that exists for x86_64 Linux while catchswitch, catchpad, and cleanuppad are all for Windows EH (https://llvm.org/docs/ExceptionHandling.html#new-exception-handling-instructions). Without proper testing on Windows I'd advocate for keeping it to LandingPads only.

For where to put it, right now I'd say there's not a good place for it and we may want to create a new file. Clang has llvm-project/clang/lib/CodeGen/CGException.cpp for all of it's EH support structure but EH on LLVM is very haphazard (I suspect because outside of correctness there was not much optimization thought put into it).

I would support adding a llvm/lib/Analysis/Exceptions.cpp (or whatever name makes sense) like llvm/lib/Analysis/EHPersonalities.cpp exists. Otherwise, if we don't want to add another file I would place it in Function.h/cpp since technically we can consider this calculating a property of the function.

Jan 27 2023, 12:43 PM · Restricted Project, Restricted Project
hoy added a comment to D142747: [Pseudo Probe] Do not instrument EH blocks..

We've got the same EH-ness propagation code in MFS already: https://reviews.llvm.org/D131824. Consider merging the code?

That diff also used EHPad as seeds for BFS, I thought we only need LandingPads as seeds? Though I think for simple algorithm, having MIR and IR implementation separated is probably fine. I also don't know where to put a merged version..

if (MBB.isEHPad())
  LandingPads.push_back(&MBB);

LandingPads are the only thing that exists for x86_64 Linux while catchswitch, catchpad, and cleanuppad are all for Windows EH (https://llvm.org/docs/ExceptionHandling.html#new-exception-handling-instructions). Without proper testing on Windows I'd advocate for keeping it to LandingPads only.

Jan 27 2023, 12:38 PM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 12:24 PM · Restricted Project, Restricted Project
hoy updated the diff for D142747: [Pseudo Probe] Do not instrument EH blocks..

Updating D142747: [Pseudo Probe] Do not instrument EH blocks.

Jan 27 2023, 12:13 PM · Restricted Project, Restricted Project
hoy added a comment to D142747: [Pseudo Probe] Do not instrument EH blocks..

We've got the same EH-ness propagation code in MFS already: https://reviews.llvm.org/D131824. Consider merging the code?

Jan 27 2023, 12:08 PM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 11:34 AM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 11:04 AM · Restricted Project, Restricted Project
hoy added a comment to D142747: [Pseudo Probe] Do not instrument EH blocks..

Will this affect PROFI? if we don't insert probe for EH block, does PROFI assign a cold(0) value to the BB or leave it with an unknown value like the dangling probe?

Jan 27 2023, 10:56 AM · Restricted Project, Restricted Project
hoy updated the diff for D142747: [Pseudo Probe] Do not instrument EH blocks..

Updating D142747: [Pseudo Probe] Do not instrument EH blocks.

Jan 27 2023, 10:42 AM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 10:35 AM · Restricted Project, Restricted Project
hoy added inline comments to D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 10:33 AM · Restricted Project, Restricted Project
hoy updated the summary of D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 9:38 AM · Restricted Project, Restricted Project
hoy requested review of D142747: [Pseudo Probe] Do not instrument EH blocks..
Jan 27 2023, 9:25 AM · Restricted Project, Restricted Project

Jan 17 2023

hoy added reviewers for D141952: [CSSPGO] Turn on postlink sample counts overwrite.: wenlei, wlei.
Jan 17 2023, 10:17 AM · Restricted Project, Restricted Project
hoy requested review of D141952: [CSSPGO] Turn on postlink sample counts overwrite..
Jan 17 2023, 10:17 AM · Restricted Project, Restricted Project

Jan 12 2023

hoy accepted D141624: [fix] Change formatting to use llvm::formatv Summary:.
Jan 12 2023, 11:16 AM · Restricted Project, Restricted Project

Jan 11 2023

hoy accepted D139870: [BOLT] using jump weights in profi.
Jan 11 2023, 2:19 PM · Restricted Project, Restricted Project
hoy added inline comments to D139870: [BOLT] using jump weights in profi.
Jan 11 2023, 1:54 PM · Restricted Project, Restricted Project

Jan 9 2023

hoy added inline comments to D139870: [BOLT] using jump weights in profi.
Jan 9 2023, 4:51 PM · Restricted Project, Restricted Project

Dec 16 2022

hoy accepted D134756: [BOLT] introducing profi params.

LGTM.

Dec 16 2022, 10:19 AM · Restricted Project, Restricted Project
hoy added inline comments to D134756: [BOLT] introducing profi params.
Dec 16 2022, 9:57 AM · Restricted Project, Restricted Project
hoy committed rG5d7950a403be: [CSSPGO][llvm-profgen] Missing frame inference. (authored by hoy).
[CSSPGO][llvm-profgen] Missing frame inference.
Dec 16 2022, 8:45 AM · Restricted Project, Restricted Project
hoy closed D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 16 2022, 8:45 AM · Restricted Project, Restricted Project
hoy added inline comments to D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 16 2022, 8:22 AM · Restricted Project, Restricted Project

Dec 15 2022

hoy added inline comments to D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 15 2022, 6:26 PM · Restricted Project, Restricted Project
hoy updated the diff for D139367: [CSSPGO][llvm-profgen] Missing frame inference..

Switching to using single maps.

Dec 15 2022, 6:26 PM · Restricted Project, Restricted Project
hoy added a comment to D140063: [AutoFDO] Use getHeadSamplesEstimate instead of getTotalSamples to compute profile callsite staleness.

I thought the idea is to compute the % of samples being dropped due to mismatch? in this case, all samples from callsite will be dropped, so I actually don't see a problem with using getTotalSamples. Yes you can argue that they can be merged with base profile, but then that argument applies to getHeadSamplesEstimate too?

Yeah, it's tricky to quantify the dropped callsite samples's impact. I was thinking in a reversed way, if we use getTotalSamples, I feel like the total samples are completely dropped(not merged into top-level profile), in fact it's still in use. And for getHeadSamplesEstimate, I feel it's like only the callsite call/jump's samples are dropped, but I admit that this's also not accurate, the missing inlining from big total samples could affect more on perf. I don't have strong opinion on this.

Dec 15 2022, 10:40 AM · Restricted Project, Restricted Project
hoy accepted D140063: [AutoFDO] Use getHeadSamplesEstimate instead of getTotalSamples to compute profile callsite staleness.
Dec 15 2022, 9:10 AM · Restricted Project, Restricted Project

Dec 7 2022

hoy updated the diff for D139367: [CSSPGO][llvm-profgen] Missing frame inference..

Updating D139367: [CSSPGO][llvm-profgen] Missing frame inference.

Dec 7 2022, 4:36 PM · Restricted Project, Restricted Project
hoy updated the diff for D139367: [CSSPGO][llvm-profgen] Missing frame inference..

Bounding the DFS search with a speific size (default to INT32_MAX). Will run more experiments to settle down on a good limit.

Dec 7 2022, 4:24 PM · Restricted Project, Restricted Project
hoy added inline comments to D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 7 2022, 4:23 PM · Restricted Project, Restricted Project
hoy retitled D139367: [CSSPGO][llvm-profgen] Missing frame inference. from [CSSPGO][llvm-profgen] A tail call tracker to infer missing tail call frames. to [CSSPGO][llvm-profgen] Missing frame inference..
Dec 7 2022, 4:22 PM · Restricted Project, Restricted Project
hoy updated the diff for D139367: [CSSPGO][llvm-profgen] Missing frame inference..

Addressing feedbacks.

Dec 7 2022, 1:18 PM · Restricted Project, Restricted Project
hoy added inline comments to D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 7 2022, 1:18 PM · Restricted Project, Restricted Project
hoy updated the diff for D139367: [CSSPGO][llvm-profgen] Missing frame inference..

Addressing feedbacks.

Dec 7 2022, 11:00 AM · Restricted Project, Restricted Project
hoy added inline comments to D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 7 2022, 11:00 AM · Restricted Project, Restricted Project

Dec 6 2022

hoy committed rGad03f4079289: [llvm-profdata] Drop profile symbol list during merging AutoFDO profiles. (authored by hoy).
[llvm-profdata] Drop profile symbol list during merging AutoFDO profiles.
Dec 6 2022, 9:12 PM · Restricted Project, Restricted Project
hoy closed D139486: [llvm-profdata] Drop profile symbol list during merging AutoFDO profiles..
Dec 6 2022, 9:12 PM · Restricted Project, Restricted Project
hoy updated the diff for D139486: [llvm-profdata] Drop profile symbol list during merging AutoFDO profiles..

Addressing feedbacks.

Dec 6 2022, 4:56 PM · Restricted Project, Restricted Project
hoy added reviewers for D139486: [llvm-profdata] Drop profile symbol list during merging AutoFDO profiles.: davidxl, wenlei, wlei.
Dec 6 2022, 4:42 PM · Restricted Project, Restricted Project
hoy requested review of D139486: [llvm-profdata] Drop profile symbol list during merging AutoFDO profiles..
Dec 6 2022, 4:41 PM · Restricted Project, Restricted Project

Dec 5 2022

hoy updated the summary of D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 5 2022, 1:57 PM · Restricted Project, Restricted Project
hoy requested review of D139367: [CSSPGO][llvm-profgen] Missing frame inference..
Dec 5 2022, 1:56 PM · Restricted Project, Restricted Project

Nov 28 2022

hoy accepted D138833: [llvm_stats] Do not import llvm.stats metadata for thinlto.

lgtm, thanks.

Nov 28 2022, 11:44 AM · Restricted Project, Restricted Project
hoy added inline comments to D138833: [llvm_stats] Do not import llvm.stats metadata for thinlto.
Nov 28 2022, 11:13 AM · Restricted Project, Restricted Project

Nov 17 2022

hoy planned changes to D138231: [CSSPGO][Preinliner] Use one for zero-sized functions when computing inline budge.

I think we actually will use the ProfileInlineLimitMin which is 100 for the count, see SizeLimit = std::max(SizeLimit, (unsigned)ProfileInlineLimitMin);

ProfileInlineGrowthLimit is by default set to 12, and 1 * 12 is still smaller than 100.

Nov 17 2022, 12:06 PM · Restricted Project, Restricted Project
hoy added reviewers for D138231: [CSSPGO][Preinliner] Use one for zero-sized functions when computing inline budge: wenlei, wlei.
Nov 17 2022, 11:50 AM · Restricted Project, Restricted Project
hoy requested review of D138231: [CSSPGO][Preinliner] Use one for zero-sized functions when computing inline budge.
Nov 17 2022, 11:50 AM · Restricted Project, Restricted Project