Page MenuHomePhabricator
Feed Advanced Search

Fri, Sep 24

hoy accepted D110424: [llvm-profgen] Ignore invalid perf line in LBR record.

Wondering for the two example warning lines, did the check against the first leading address before first LBR record pass?

Fri, Sep 24, 9:12 AM · Restricted Project

Thu, Sep 23

hoy committed rGe9d1a679a1c9: [CSSPGO] Do not pass -fpseudo-probe-for-profiling to the linker. (authored by hoy).
[CSSPGO] Do not pass -fpseudo-probe-for-profiling to the linker.
Thu, Sep 23, 3:51 PM
hoy closed D110371: [CSSPGO] Do not pass -fpseudo-probe-for-profiling to the linker..
Thu, Sep 23, 3:50 PM · Restricted Project
hoy added reviewers for D110371: [CSSPGO] Do not pass -fpseudo-probe-for-profiling to the linker.: wenlei, wlei.
Thu, Sep 23, 3:44 PM · Restricted Project
hoy requested review of D110371: [CSSPGO] Do not pass -fpseudo-probe-for-profiling to the linker..
Thu, Sep 23, 3:44 PM · Restricted Project

Wed, Sep 22

hoy accepted D110271: [llvm-profgen] Fix an out-of-range error during unwinding.

lgtm, thanks for the fix.

Wed, Sep 22, 5:18 PM · Restricted Project
hoy accepted D110268: [llvm-profgen] Fix a bug of assertion.

Good catch. What is the case you saw that the call stack has only one leaf frame? Is it in the main function?

Good question. main should be one case if it hit any samples. In my run, it showed like below. seems it's from external lib.

jemalloc_je_edata_heap_insert
jemalloc_je_arena_dalloc_bin_locked_handle_newly_nonempty
jemalloc_je_edata_heap_remove_first
jemalloc_je_arena_cache_bin_fill_small
extent_record
_ZdlPvm

Not sure why this doesn't have context.

Wed, Sep 22, 1:18 PM · Restricted Project
hoy accepted D110275: [llvm-profgen] Fix a dangling vector reference in CS line number based generator.

lgtm, thanks for the fix.

Wed, Sep 22, 11:52 AM · Restricted Project
hoy committed rG734f4d832cd2: [llvm-profgen] An option to dump disasm of specified symbols (authored by hoy).
[llvm-profgen] An option to dump disasm of specified symbols
Wed, Sep 22, 10:33 AM
hoy closed D110079: [llvm-profgen] An option to dump disasm of specified symbols.
Wed, Sep 22, 10:33 AM · Restricted Project
hoy added a comment to D110268: [llvm-profgen] Fix a bug of assertion.

Good catch. What is the case you saw that the call stack has only one leaf frame? Is it in the main function?

Wed, Sep 22, 10:27 AM · Restricted Project
hoy committed rGd9b511d8e8c4: [CSSPGO] Set PseudoProbeInserter as a default pass. (authored by hoy).
[CSSPGO] Set PseudoProbeInserter as a default pass.
Wed, Sep 22, 9:10 AM
hoy closed D110209: [CSSPGO] Set PseudoProbeInserter as a default pass..
Wed, Sep 22, 9:10 AM · Restricted Project, Restricted Project

Tue, Sep 21

hoy updated the diff for D110209: [CSSPGO] Set PseudoProbeInserter as a default pass..

Updating D110209: [CSSPGO] Set PseudoProbeInserter as a default pass.

Tue, Sep 21, 11:08 PM · Restricted Project, Restricted Project
hoy added a comment to D110209: [CSSPGO] Set PseudoProbeInserter as a default pass..

lld/test/ELF/lto/pseudo-probe-lto.ll needs update

Tue, Sep 21, 11:07 PM · Restricted Project, Restricted Project
hoy accepted D110212: [llvm-profgen] Use hot threshold for context merging and trimming.
Tue, Sep 21, 8:26 PM · Restricted Project
hoy added inline comments to D110212: [llvm-profgen] Use hot threshold for context merging and trimming.
Tue, Sep 21, 6:34 PM · Restricted Project
hoy added reviewers for D110209: [CSSPGO] Set PseudoProbeInserter as a default pass.: wenlei, wlei, wmi.
Tue, Sep 21, 5:17 PM · Restricted Project, Restricted Project
hoy requested review of D110209: [CSSPGO] Set PseudoProbeInserter as a default pass..
Tue, Sep 21, 5:17 PM · Restricted Project, Restricted Project
hoy accepted D110117: [SamplePGO] Add switch to honor zero count on block level as accurate.

lgtm.

Tue, Sep 21, 5:05 PM · Restricted Project
hoy updated the diff for D110079: [llvm-profgen] An option to dump disasm of specified symbols.

Updating D110079: [llvm-profgen] An option to dump disasm of specified symbols

Tue, Sep 21, 9:13 AM · Restricted Project
hoy added a comment to D110079: [llvm-profgen] An option to dump disasm of specified symbols.

Thanks for the change!

Nit: probably we can add an early check in validateCommandLine to make sure ShowDisassemblyOnly must be true if ShowSymbols is not empty.

Tue, Sep 21, 9:13 AM · Restricted Project

Mon, Sep 20

hoy added inline comments to D110081: [llvm-profgen] Filter out invalid debug line.
Mon, Sep 20, 1:15 PM · Restricted Project
hoy accepted D110080: [llvm-profgen] Unify output format of unsymbolized profiles.
Mon, Sep 20, 11:05 AM · Restricted Project
hoy added inline comments to D110080: [llvm-profgen] Unify output format of unsymbolized profiles.
Mon, Sep 20, 10:48 AM · Restricted Project
hoy added reviewers for D110079: [llvm-profgen] An option to dump disasm of specified symbols: wenlei, wlei, wmi.
Mon, Sep 20, 9:46 AM · Restricted Project
hoy requested review of D110079: [llvm-profgen] An option to dump disasm of specified symbols.
Mon, Sep 20, 9:45 AM · Restricted Project

Fri, Sep 17

hoy committed rGc5fafc1e73bc: [CSSPGO] Tweakes to lower pseudo probe runtime overhead (authored by hoy).
[CSSPGO] Tweakes to lower pseudo probe runtime overhead
Fri, Sep 17, 12:28 PM
hoy closed D109976: [CSSPGO] Tweakes to lower pseudo probe runtime overhead.
Fri, Sep 17, 12:28 PM · Restricted Project
hoy added a comment to D109976: [CSSPGO] Tweakes to lower pseudo probe runtime overhead.

ltgm, thanks for the fix.

Allow general default attributes (nofree nosync nounwind) for pseudo probe intrinsic.

Can you expand in this commit message to also explain what problem this caused and fixed -- containing function cannot have these attribute.

Fri, Sep 17, 9:49 AM · Restricted Project
hoy updated the summary of D109976: [CSSPGO] Tweakes to lower pseudo probe runtime overhead.
Fri, Sep 17, 9:49 AM · Restricted Project
hoy updated the summary of D109976: [CSSPGO] Tweakes to lower pseudo probe runtime overhead.
Fri, Sep 17, 9:23 AM · Restricted Project
hoy requested review of D109976: [CSSPGO] Tweakes to lower pseudo probe runtime overhead.
Fri, Sep 17, 9:22 AM · Restricted Project

Thu, Sep 16

hoy accepted D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.
Thu, Sep 16, 1:44 PM · Restricted Project
hoy added a comment to D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.

lgtm, thanks.

Thu, Sep 16, 1:44 PM · Restricted Project
hoy added inline comments to D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.
Thu, Sep 16, 12:44 PM · Restricted Project
hoy accepted D109893: [llvm-profgen] Use context-sensitive byte size cost for preinliner decisions by default.

One test is failing, might be related. Otherwise, lgtm.

Thu, Sep 16, 9:28 AM · Restricted Project

Wed, Sep 15

hoy added reviewers for D109869: [LTO] An option to disable automatic bitcode upgrade: tejohnson, wenlei.
Wed, Sep 15, 10:09 PM · Restricted Project
hoy requested review of D109869: [LTO] An option to disable automatic bitcode upgrade.
Wed, Sep 15, 10:09 PM · Restricted Project
hoy added inline comments to D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.
Wed, Sep 15, 5:55 PM · Restricted Project
hoy added inline comments to D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.
Wed, Sep 15, 5:48 PM · Restricted Project
hoy added inline comments to D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.
Wed, Sep 15, 5:39 PM · Restricted Project
hoy added reviewers for D109860: profi - a flow-based profile inference algorithm: Part I (out of 3): davidxl, wmi.
Wed, Sep 15, 4:29 PM · Restricted Project

Tue, Sep 14

hoy committed rG0057c7185d1c: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address. (authored by hoy).
[CSSPGO][llvm-profgen] Truncate stack samples with invalid return address.
Tue, Sep 14, 9:56 PM
hoy closed D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..
Tue, Sep 14, 9:56 PM · Restricted Project, Restricted Project
hoy added inline comments to D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..
Tue, Sep 14, 6:44 PM · Restricted Project, Restricted Project
hoy updated the diff for D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..

Updating D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address.

Tue, Sep 14, 6:44 PM · Restricted Project, Restricted Project
hoy added a comment to D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.

Thanks for the change. I'm wondering instead of extending findDisjointRanges if we can just add a post-processing pass that adds a zero sample to all line offsets. We did this for probe-based CS profile.

The advantage to do it by extending findDisjointRanges is it can save some operations and adding zero sample for line-number is heavier than probe because it need to travels the inline callstack.

For extreme case say if we have counter like [1,9999] : 1. and the function range is [1,10000], post-processing will do both for [1,9999] : 1, [1,10000]: 0 . it's almost double the cost. pre-processing will do [1,9999] : 1 and [10000,10000]:0.

Tue, Sep 14, 6:27 PM · Restricted Project
hoy committed rG299b5d420df1: [CSSPGO] Enable pseudo probe instrumentation in O0 mode. (authored by hoy).
[CSSPGO] Enable pseudo probe instrumentation in O0 mode.
Tue, Sep 14, 6:14 PM
hoy closed D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode..
Tue, Sep 14, 6:13 PM · Restricted Project, Restricted Project
hoy updated the diff for D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..

Addressing Wenlei's comment.

Tue, Sep 14, 6:03 PM · Restricted Project, Restricted Project
hoy added a comment to D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..

It isn't common when the program is built with the frame pointer omission disabled, but can still happen with third-party static libs built with frame pointer omitted.

Did you mean disabled -> enabled?

Tue, Sep 14, 6:01 PM · Restricted Project, Restricted Project
hoy added a comment to D109713: [AutoFDO][llvm-profgen] Report zero count for unexecuted part of function code.

Thanks for the change. I'm wondering instead of extending findDisjointRanges if we can just add a post-processing pass that adds a zero sample to all line offsets. We did this for probe-based CS profile.

Tue, Sep 14, 4:36 PM · Restricted Project
hoy committed rG8cbbd7e0b2aa: [llvm-profgen] Ignore broken LBR samples (authored by hoy).
[llvm-profgen] Ignore broken LBR samples
Tue, Sep 14, 12:11 PM
hoy closed D109637: [llvm-profgen] Ignore broken LBR samples.
Tue, Sep 14, 12:11 PM · Restricted Project
hoy updated the diff for D109637: [llvm-profgen] Ignore broken LBR samples.

Printing full line content in warning.

Tue, Sep 14, 10:42 AM · Restricted Project
hoy added inline comments to D109637: [llvm-profgen] Ignore broken LBR samples.
Tue, Sep 14, 10:42 AM · Restricted Project
hoy updated the diff for D109637: [llvm-profgen] Ignore broken LBR samples.

Addressing Wenlei's comment.

Tue, Sep 14, 10:32 AM · Restricted Project
hoy added inline comments to D109637: [llvm-profgen] Ignore broken LBR samples.
Tue, Sep 14, 10:32 AM · Restricted Project
hoy retitled D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address. from [CSSPGO] Truncate stack samples with invalid return address. to [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..
Tue, Sep 14, 9:23 AM · Restricted Project, Restricted Project

Mon, Sep 13

hoy updated the diff for D109637: [llvm-profgen] Ignore broken LBR samples.

Updating D109637: [llvm-profgen] Ignore broken LBR samples

Mon, Sep 13, 2:14 PM · Restricted Project
hoy updated the diff for D109637: [llvm-profgen] Ignore broken LBR samples.

Addressing Lei's comments.

Mon, Sep 13, 2:13 PM · Restricted Project
hoy added inline comments to D109637: [llvm-profgen] Ignore broken LBR samples.
Mon, Sep 13, 2:13 PM · Restricted Project
hoy accepted D109551: [AutoFDO][llvm-profgen] Profile generation for LBR(non-CS) sample.

lgtm

Mon, Sep 13, 10:25 AM · Restricted Project
hoy added inline comments to D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode..
Mon, Sep 13, 9:07 AM · Restricted Project, Restricted Project

Fri, Sep 10

hoy added reviewers for D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address.: wenlei, wlei, wmi.
Fri, Sep 10, 5:50 PM · Restricted Project, Restricted Project
hoy updated the diff for D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..

Updating D109638: [CSSPGO] Truncate stack samples with invalid return address.

Fri, Sep 10, 5:49 PM · Restricted Project, Restricted Project
hoy retitled D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address. from [CSSPGO] Enable pseudo probe instrumentation in O0 mode. to [CSSPGO] Truncate stack samples with invalid return address..
Fri, Sep 10, 5:40 PM · Restricted Project, Restricted Project
hoy requested review of D109638: [CSSPGO][llvm-profgen] Truncate stack samples with invalid return address..
Fri, Sep 10, 5:33 PM · Restricted Project, Restricted Project
hoy added inline comments to D109551: [AutoFDO][llvm-profgen] Profile generation for LBR(non-CS) sample.
Fri, Sep 10, 5:28 PM · Restricted Project
hoy updated the summary of D109637: [llvm-profgen] Ignore broken LBR samples.
Fri, Sep 10, 4:38 PM · Restricted Project
hoy updated the summary of D109637: [llvm-profgen] Ignore broken LBR samples.
Fri, Sep 10, 4:38 PM · Restricted Project
hoy requested review of D109637: [llvm-profgen] Ignore broken LBR samples.
Fri, Sep 10, 4:37 PM · Restricted Project
hoy added inline comments to D109551: [AutoFDO][llvm-profgen] Profile generation for LBR(non-CS) sample.
Fri, Sep 10, 11:22 AM · Restricted Project
hoy updated the diff for D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode..

Updating D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode.

Fri, Sep 10, 9:53 AM · Restricted Project, Restricted Project
hoy added a comment to D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode..

The change makes sense given instr PGO also happens for O0. But practically, if a file is being built with O0, do we care about its profile given we're not really optimizing it anyways? Functions from O0 modules are not supposed to be inlined into O1+ modules either.

We probably don't care about performance for O0 build. The change is for consistency, also makes the compiler happy which otherwise will complain about "Pseudo-probe-based profile requires SampleProfileProbePass" for O0 modules that don't have probes.

The complain message is emitted in SampleProfileLoader::doInitialization. llvm will not run SampleProfileLoader pass for O0 module. Why there is the complain?

Good question. It could happen in lto postlink which by default optimizes in -O2 mode. More specifically, with the following command, both cc1 and lld will run in default mode, which is -O0 for cc1 and -O2 for lld.

clang -flto 1.cpp -v -fuse-ld=lld

I see. It seems a problem only exposed in monolithic lto. Could you add some comment before the change in PassBuilder.cpp?

Fri, Sep 10, 9:52 AM · Restricted Project, Restricted Project

Thu, Sep 9

hoy added a comment to D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode..

The change makes sense given instr PGO also happens for O0. But practically, if a file is being built with O0, do we care about its profile given we're not really optimizing it anyways? Functions from O0 modules are not supposed to be inlined into O1+ modules either.

We probably don't care about performance for O0 build. The change is for consistency, also makes the compiler happy which otherwise will complain about "Pseudo-probe-based profile requires SampleProfileProbePass" for O0 modules that don't have probes.

The complain message is emitted in SampleProfileLoader::doInitialization. llvm will not run SampleProfileLoader pass for O0 module. Why there is the complain?

Thu, Sep 9, 10:31 PM · Restricted Project, Restricted Project
hoy added a comment to D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode..

The change makes sense given instr PGO also happens for O0. But practically, if a file is being built with O0, do we care about its profile given we're not really optimizing it anyways? Functions from O0 modules are not supposed to be inlined into O1+ modules either.

Thu, Sep 9, 2:20 PM · Restricted Project, Restricted Project
hoy added reviewers for D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode.: wenlei, wlei, wmi.
Thu, Sep 9, 11:43 AM · Restricted Project, Restricted Project
hoy requested review of D109531: [CSSPGO] Enable pseudo probe instrumentation in O0 mode..
Thu, Sep 9, 11:42 AM · Restricted Project, Restricted Project

Tue, Sep 7

hoy accepted D109398: [SampleFDO] Allow forward compatibility when adding a new section for extbinary format. .

lgtm

Tue, Sep 7, 3:49 PM · Restricted Project

Thu, Sep 2

hoy accepted D109166: [llvm-profgen] Turn off cold context trimming by default.

lgtm.

Thu, Sep 2, 10:44 AM · Restricted Project
hoy added inline comments to D109104: [CSSPGO] Allow inlining recursive call for preinliner.
Thu, Sep 2, 10:00 AM · Restricted Project
hoy accepted D109104: [CSSPGO] Allow inlining recursive call for preinliner.

lgtm

Thu, Sep 2, 9:48 AM · Restricted Project
hoy added inline comments to D109104: [CSSPGO] Allow inlining recursive call for preinliner.
Thu, Sep 2, 9:15 AM · Restricted Project
hoy accepted D109115: [llvm-profgen] Deduplicate and improve warning for truncated context.
Thu, Sep 2, 9:00 AM · Restricted Project
hoy added a comment to D109115: [llvm-profgen] Deduplicate and improve warning for truncated context.

LGTM. Thanks for the fix.

Thu, Sep 2, 9:00 AM · Restricted Project
hoy added inline comments to D109104: [CSSPGO] Allow inlining recursive call for preinliner.
Thu, Sep 2, 8:37 AM · Restricted Project

Wed, Sep 1

hoy added inline comments to D109111: [CSSPGO] Use preinliner decision by default when available.
Wed, Sep 1, 9:51 PM · Restricted Project
hoy added inline comments to D109111: [CSSPGO] Use preinliner decision by default when available.
Wed, Sep 1, 6:30 PM · Restricted Project
hoy accepted D109111: [CSSPGO] Use preinliner decision by default when available.
Wed, Sep 1, 5:43 PM · Restricted Project
hoy added inline comments to D109111: [CSSPGO] Use preinliner decision by default when available.
Wed, Sep 1, 5:38 PM · Restricted Project
hoy added inline comments to D109111: [CSSPGO] Use preinliner decision by default when available.
Wed, Sep 1, 5:30 PM · Restricted Project
hoy accepted D109098: [CSSPGO] Add stats for pre-inliner.
Wed, Sep 1, 5:10 PM · Restricted Project
hoy accepted D109088: [CSSPGO] Honor preinliner decision for ThinLTO importing.

LGTM.

Wed, Sep 1, 3:01 PM · Restricted Project
hoy accepted D109096: [llvm-profdata] Fix assertion from invalid iterator.
Wed, Sep 1, 2:39 PM · Restricted Project
hoy committed rGf4711e0d009b: [CSSPGO] Sort function offset table to speed up profile loading. (authored by hoy).
[CSSPGO] Sort function offset table to speed up profile loading.
Wed, Sep 1, 12:18 PM
hoy closed D109036: [CSSPGO] Sort function offset table to speed up profile loading..
Wed, Sep 1, 12:18 PM · Restricted Project
hoy updated the diff for D109036: [CSSPGO] Sort function offset table to speed up profile loading..

Addressing Wei's comment.

Wed, Sep 1, 12:08 PM · Restricted Project
hoy added inline comments to D109036: [CSSPGO] Sort function offset table to speed up profile loading..
Wed, Sep 1, 12:07 PM · Restricted Project