Page MenuHomePhabricator

maksfb (Maksim Panchenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 2 2015, 11:58 AM (377 w, 5 d)

Recent Activity

Fri, Nov 18

maksfb accepted D138306: [bolt] Pass %cflags in test/X86/is-strip.s.

Thanks for the fix.

Fri, Nov 18, 9:08 AM · Restricted Project, Restricted Project

Thu, Nov 17

maksfb added a comment to D137620: [BOLT] Don't align .text to pageAlign.

To me, it appears there are two outstanding issues that we need to solve. One is that we use large pages by default. Without hugify/hottext it doesn't make sense unless dynamic loader supports large pages.

My understanding is that newer kernels/loaders support large pages and can properly map them without the use of -hugify, so it makes sense to use large pages by default. I wouldn't call it an issue, if you don't like it you can always use -no-huge-pages.

Thu, Nov 17, 12:56 PM · Restricted Project, Restricted Project, Restricted Project
maksfb added a comment to D137620: [BOLT] Don't align .text to pageAlign.

To me, it appears there are two outstanding issues that we need to solve. One is that we use large pages by default. Without hugify/hottext it doesn't make sense unless dynamic loader supports large pages. The second issue is that we align .text regardless of how many bytes it takes, leading sometimes to ~2MB "waste". Just using 64-byte alignment and relying on the containing segment being aligned to the page size will not always work. One example of the latter is "-use-old-text". I think using the MaxAlignBytes might be better suited to address this issue. What do you think?

Thu, Nov 17, 10:24 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Nov 15

maksfb accepted D138066: [BOLT-TESTS] Follow-up to D131919.
Tue, Nov 15, 2:46 PM · Restricted Project, Restricted Project

Thu, Nov 3

maksfb accepted D137357: [BOLT] Always move JTs in jump-table=move.

LGTM

Thu, Nov 3, 4:48 PM · Restricted Project, Restricted Project

Oct 27 2022

maksfb added a comment to D135494: [BOLT] Section-handling refactoring/overhaul.

@maksfb a patch is now not mature enough for RFC, but the idea is that we add more relocations including data-to-data, create them for plt, and emit all these sections with original names and call registerOrUpdate for each in EFMM. If we want to duplicate some section like .rodata, we can rename it to ".bolt.org.rodata" before emitting or emit it under a new name. In my original patch i used the latter, but for compatibility, i think renaming before emission should work. So, the general idea is that instead of this sorcery in EFMM we can call something like RenameDuplicatedSections() prior to emission(in RewriteInstance), where we decide based on options which sections we want rewritten and which duplicated, and then just emit everything under original name. Do you think it's a good idea? Or it won't work?

Oct 27 2022, 6:13 PM · Restricted Project, Restricted Project
maksfb accepted D136394: [BOLT][PseudoProbe] Support new pseudo probe encoding.

LGTM. Thanks.

Oct 27 2022, 12:06 PM · Restricted Project, Restricted Project
maksfb updated subscribers of D136394: [BOLT][PseudoProbe] Support new pseudo probe encoding.
Oct 27 2022, 11:26 AM · Restricted Project, Restricted Project

Oct 26 2022

maksfb added a comment to D135494: [BOLT] Section-handling refactoring/overhaul.

@treapster, could you post a detailed description of your plans (or an RFC) to discourse? It’s possible I’m missing details of what you are planning to do.

Oct 26 2022, 10:09 PM · Restricted Project, Restricted Project

Oct 25 2022

maksfb added a comment to D136394: [BOLT][PseudoProbe] Support new pseudo probe encoding.

@hoy, Amir will migrate the internal pseudo-probe tests. That should enable you to add/modify the test for this change.

Oct 25 2022, 5:50 PM · Restricted Project, Restricted Project
maksfb added inline comments to D136394: [BOLT][PseudoProbe] Support new pseudo probe encoding.
Oct 25 2022, 5:48 PM · Restricted Project, Restricted Project
maksfb committed rG20204db50389: [BOLT] Add mold-style PLT support (authored by maksfb).
[BOLT] Add mold-style PLT support
Oct 25 2022, 11:04 AM · Restricted Project
maksfb closed D136655: [BOLT] Add mold-style PLT support.
Oct 25 2022, 11:04 AM · Restricted Project, Restricted Project

Oct 24 2022

maksfb added inline comments to D136655: [BOLT] Add mold-style PLT support.
Oct 24 2022, 10:22 PM · Restricted Project, Restricted Project
maksfb requested review of D136655: [BOLT] Add mold-style PLT support.
Oct 24 2022, 6:35 PM · Restricted Project, Restricted Project

Oct 21 2022

maksfb added a comment to D136394: [BOLT][PseudoProbe] Support new pseudo probe encoding.

Looks good. There's a couple of styling nits. You might need to run arc with --verbatim to update Title and Summary fields.

I noticed that other Bolt commits has line wrapping in its summary. Does arc diff --verbatim do the trick?

Oct 21 2022, 4:00 PM · Restricted Project, Restricted Project
maksfb added a comment to D136394: [BOLT][PseudoProbe] Support new pseudo probe encoding.

Looks good. There's a couple of styling nits. You might need to run arc with --verbatim to update Title and Summary fields.

Oct 21 2022, 3:28 PM · Restricted Project, Restricted Project
maksfb added a comment to D135914: [PseudoProbe] Decode offset based pseudo probe..

Sounds good.

Oct 21 2022, 3:19 PM · Restricted Project, Restricted Project
maksfb added a comment to D135914: [PseudoProbe] Decode offset based pseudo probe..

Yes, std::map is used everywhere in llvm-profgen. Do you think ADT performs better than it? I can do a separate refactoring if you don't mind.

Oct 21 2022, 3:05 PM · Restricted Project, Restricted Project
maksfb added a comment to D135914: [PseudoProbe] Decode offset based pseudo probe..

There are a couple more uses of std::*map<> left that could be converted to maps from LLVM's ADT.

Oct 21 2022, 2:50 PM · Restricted Project, Restricted Project

Oct 20 2022

maksfb added a comment to D136394: [BOLT][PseudoProbe] Support new pseudo probe encoding.

Is this change going to be tested in the parent diff or otherwise?

Oct 20 2022, 5:12 PM · Restricted Project, Restricted Project
maksfb added inline comments to D135914: [PseudoProbe] Decode offset based pseudo probe..
Oct 20 2022, 5:06 PM · Restricted Project, Restricted Project

Oct 19 2022

maksfb added a comment to D135494: [BOLT] Section-handling refactoring/overhaul.

I'm a bit concerned about adding OrgSecPrefix to EFMM. My understanding is that now it's impossible or really hard to rewrite a section in-place, because EFMM will automatically duplicate it and add prefix to the original section. I'm developing a patch to rewrite the entire binary and i'm now struggling to rebase it on top of this. I would appreciate clarifications regarding EFMM changes and how to update sections in-place with this code.

Oct 19 2022, 3:49 PM · Restricted Project, Restricted Project
maksfb accepted D136204: [BOLT][DWARF] Add support for DW_FORM_addr for DW_AT_call_return_pc.
Oct 19 2022, 8:37 AM · Restricted Project, Restricted Project

Oct 18 2022

maksfb added inline comments to D136204: [BOLT][DWARF] Add support for DW_FORM_addr for DW_AT_call_return_pc.
Oct 18 2022, 10:10 PM · Restricted Project, Restricted Project
maksfb committed rG28d70d3f1e2a: [BOLT][NFC] Refactor EFMM initialization (authored by maksfb).
[BOLT][NFC] Refactor EFMM initialization
Oct 18 2022, 8:31 PM · Restricted Project
maksfb closed D136205: [BOLT][NFC] Refactor EFMM initialization.
Oct 18 2022, 8:31 PM · Restricted Project, Restricted Project
maksfb added inline comments to D136204: [BOLT][DWARF] Add support for DW_FORM_addr for DW_AT_call_return_pc.
Oct 18 2022, 5:30 PM · Restricted Project, Restricted Project
maksfb accepted D136122: [BOLT] Ignore duplicate global symbols.

LGTM

Oct 18 2022, 4:49 PM · Restricted Project, Restricted Project
maksfb requested review of D136205: [BOLT][NFC] Refactor EFMM initialization.
Oct 18 2022, 3:00 PM · Restricted Project, Restricted Project
maksfb committed rGbcc4c909544e: [BOLT] Fix instruction encoding validation (authored by maksfb).
[BOLT] Fix instruction encoding validation
Oct 18 2022, 1:50 PM · Restricted Project
maksfb closed D136118: [BOLT] Fix instruction encoding validation.
Oct 18 2022, 1:50 PM · Restricted Project, Restricted Project

Oct 17 2022

maksfb added a comment to D136122: [BOLT] Ignore duplicate global symbols.

Since the erroneous condition could be triggered by a bad input, we should replace the assertion with an error.

Oct 17 2022, 7:16 PM · Restricted Project, Restricted Project
maksfb requested review of D136118: [BOLT] Fix instruction encoding validation.
Oct 17 2022, 4:49 PM · Restricted Project, Restricted Project
maksfb committed rGdc8035bdddf4: [BOLT][NFCI] Avoid calling registerName() twice (authored by maksfb).
[BOLT][NFCI] Avoid calling registerName() twice
Oct 17 2022, 4:17 PM · Restricted Project
maksfb closed D136115: [BOLT][NFCI] Avoid calling registerName() twice.
Oct 17 2022, 4:17 PM · Restricted Project, Restricted Project
maksfb requested review of D136115: [BOLT][NFCI] Avoid calling registerName() twice.
Oct 17 2022, 2:48 PM · Restricted Project, Restricted Project

Oct 13 2022

maksfb committed rG4d3a0cade2ed: [BOLT] Section-handling refactoring/overhaul (authored by maksfb).
[BOLT] Section-handling refactoring/overhaul
Oct 13 2022, 11:11 PM · Restricted Project
maksfb closed D135494: [BOLT] Section-handling refactoring/overhaul.
Oct 13 2022, 11:10 PM · Restricted Project, Restricted Project
maksfb updated the diff for D135494: [BOLT] Section-handling refactoring/overhaul.

Fix section read-only check. Remove mapExtraSections().

Oct 13 2022, 6:44 PM · Restricted Project, Restricted Project
maksfb updated the diff for D135494: [BOLT] Section-handling refactoring/overhaul.

Address comments by Rafael.

Oct 13 2022, 4:57 PM · Restricted Project, Restricted Project

Oct 12 2022

maksfb accepted D134098: [BOLT] Add pass to fix ambiguous memory references.

One nit and one comment. Otherwise, LGTM.

Oct 12 2022, 12:07 PM · Restricted Project, Restricted Project

Oct 10 2022

maksfb added inline comments to D134097: [BOLT][NFC] Refactor creation of symbol+addend references.
Oct 10 2022, 11:14 PM · Restricted Project, Restricted Project

Oct 7 2022

maksfb added inline comments to D134098: [BOLT] Add pass to fix ambiguous memory references.
Oct 7 2022, 5:23 PM · Restricted Project, Restricted Project
maksfb accepted D134097: [BOLT][NFC] Refactor creation of symbol+addend references.

Add "[BOLT]" to the title. Replace "this code" in the Summary with the description of the code. Otherwise LGTM.

Oct 7 2022, 3:21 PM · Restricted Project, Restricted Project
maksfb abandoned D134299: [BOLT][NFC] Refactor section-mapping code.

Part of https://reviews.llvm.org/D135494

Oct 7 2022, 3:07 PM · Restricted Project, Restricted Project
maksfb requested review of D135494: [BOLT] Section-handling refactoring/overhaul.
Oct 7 2022, 2:49 PM · Restricted Project, Restricted Project
maksfb committed rG978f11c8e8da: [BOLT][TEST] Fix section order test (authored by maksfb).
[BOLT][TEST] Fix section order test
Oct 7 2022, 2:39 PM · Restricted Project
maksfb closed D135475: [BOLT][TEST] Fix section order test.
Oct 7 2022, 2:39 PM · Restricted Project, Restricted Project
maksfb requested review of D135475: [BOLT][TEST] Fix section order test.
Oct 7 2022, 11:59 AM · Restricted Project, Restricted Project
maksfb committed rG5fca9c5763e8: [BOLT] Change order of new sections (authored by maksfb).
[BOLT] Change order of new sections
Oct 7 2022, 11:21 AM · Restricted Project
maksfb closed D135235: [BOLT] Change order of new sections.
Oct 7 2022, 11:21 AM · Restricted Project, Restricted Project
maksfb committed rG0b213c909036: [BOLT] Fix writing out unmarked .eh_frame section (authored by maksfb).
[BOLT] Fix writing out unmarked .eh_frame section
Oct 7 2022, 11:20 AM · Restricted Project
maksfb closed D135223: [BOLT] Fix writing out unmarked .eh_frame section.
Oct 7 2022, 11:20 AM · Restricted Project, Restricted Project
maksfb committed rGc683e281cdc9: [BOLT] Properly set _end symbol (authored by maksfb).
[BOLT] Properly set _end symbol
Oct 7 2022, 11:19 AM · Restricted Project
maksfb closed D135121: [BOLT] Properly set _end symbol.
Oct 7 2022, 11:19 AM · Restricted Project, Restricted Project
maksfb committed rG3e097fab5a55: [BOLT][NFC] Remove text section assertion (authored by maksfb).
[BOLT][NFC] Remove text section assertion
Oct 7 2022, 11:19 AM · Restricted Project
maksfb closed D135120: [BOLT][NFC] Remove text section assertion.
Oct 7 2022, 11:18 AM · Restricted Project, Restricted Project

Oct 5 2022

maksfb updated the diff for D135235: [BOLT] Change order of new sections.

Fix MachO. Add a test case.

Oct 5 2022, 2:42 PM · Restricted Project, Restricted Project

Oct 4 2022

maksfb requested review of D135235: [BOLT] Change order of new sections.
Oct 4 2022, 7:29 PM · Restricted Project, Restricted Project
maksfb requested review of D135223: [BOLT] Fix writing out unmarked .eh_frame section.
Oct 4 2022, 4:04 PM · Restricted Project, Restricted Project

Oct 3 2022

maksfb requested review of D135121: [BOLT] Properly set _end symbol.
Oct 3 2022, 6:14 PM · Restricted Project, Restricted Project
maksfb requested review of D135120: [BOLT][NFC] Remove text section assertion.
Oct 3 2022, 6:13 PM · Restricted Project, Restricted Project

Sep 20 2022

maksfb requested review of D134299: [BOLT][NFC] Refactor section-mapping code.
Sep 20 2022, 11:59 AM · Restricted Project, Restricted Project

Sep 19 2022

maksfb accepted D133995: [BOLT] Control aggregation mode output profile file format.

LGTM

Sep 19 2022, 1:00 PM · Restricted Project, Restricted Project

Sep 16 2022

maksfb committed rGf1a11d770e59: [BOLT][NFC] Remove unreachable assertion (authored by maksfb).
[BOLT][NFC] Remove unreachable assertion
Sep 16 2022, 5:04 PM · Restricted Project
maksfb closed D134094: [BOLT][NFC] Remove unreachable assertion.
Sep 16 2022, 5:03 PM · Restricted Project, Restricted Project
maksfb added a comment to D134094: [BOLT][NFC] Remove unreachable assertion.

Summary?

Sep 16 2022, 4:55 PM · Restricted Project, Restricted Project
maksfb requested review of D134094: [BOLT][NFC] Remove unreachable assertion.
Sep 16 2022, 4:46 PM · Restricted Project, Restricted Project
maksfb added inline comments to D133995: [BOLT] Control aggregation mode output profile file format.
Sep 16 2022, 3:00 PM · Restricted Project, Restricted Project
maksfb added a comment to D133995: [BOLT] Control aggregation mode output profile file format.

Can you s/ProfileOutput/ProfileFormat/g and s/profile-output/profile-format/g?

Sep 16 2022, 1:55 PM · Restricted Project, Restricted Project
maksfb committed rG1d5393526c29: [BOLT] Change base class of ExecutableFileMemoryManager (authored by maksfb).
[BOLT] Change base class of ExecutableFileMemoryManager
Sep 16 2022, 1:39 PM · Restricted Project
maksfb closed D133994: [BOLT] Change base class of ExecutableFileMemoryManager.
Sep 16 2022, 1:39 PM · Restricted Project, Restricted Project
maksfb committed rG9742c25b9894: [BOLT] Fix empty function emission in non-relocation mode (authored by maksfb).
[BOLT] Fix empty function emission in non-relocation mode
Sep 16 2022, 1:39 PM · Restricted Project
maksfb closed D133978: [BOLT] Fix empty function emission in non-relocation mode.
Sep 16 2022, 1:38 PM · Restricted Project, Restricted Project
maksfb added inline comments to D133994: [BOLT] Change base class of ExecutableFileMemoryManager.
Sep 16 2022, 1:35 PM · Restricted Project, Restricted Project
maksfb added inline comments to D133994: [BOLT] Change base class of ExecutableFileMemoryManager.
Sep 16 2022, 1:09 PM · Restricted Project, Restricted Project
maksfb updated the diff for D133994: [BOLT] Change base class of ExecutableFileMemoryManager.

Change SmallVector size for AllocatedSections.

Sep 16 2022, 12:43 PM · Restricted Project, Restricted Project
maksfb added inline comments to D133994: [BOLT] Change base class of ExecutableFileMemoryManager.
Sep 16 2022, 12:41 PM · Restricted Project, Restricted Project
maksfb updated the diff for D133994: [BOLT] Change base class of ExecutableFileMemoryManager.

Don't free memory allocated by EFMM.

Sep 16 2022, 12:09 PM · Restricted Project, Restricted Project

Sep 15 2022

maksfb accepted D132495: [BOLT] Verify externally referenced blocks against jump table targets.

LGTM, but please rename the method before the commit.

Sep 15 2022, 6:04 PM · Restricted Project, Restricted Project
maksfb planned changes to D133994: [BOLT] Change base class of ExecutableFileMemoryManager.
Sep 15 2022, 5:58 PM · Restricted Project, Restricted Project
maksfb added inline comments to D132495: [BOLT] Verify externally referenced blocks against jump table targets.
Sep 15 2022, 5:34 PM · Restricted Project, Restricted Project
maksfb requested review of D133994: [BOLT] Change base class of ExecutableFileMemoryManager.
Sep 15 2022, 4:56 PM · Restricted Project, Restricted Project
maksfb requested review of D133978: [BOLT] Fix empty function emission in non-relocation mode.
Sep 15 2022, 2:15 PM · Restricted Project, Restricted Project

Sep 8 2022

maksfb accepted D132423: [BOLT] Fragment all blocks (not just outlineable blocks).

LGTM

Sep 8 2022, 5:03 PM · Restricted Project, Restricted Project
maksfb accepted D132484: [BOLT] Preserve original LSDA type encoding.

This looks good to me. Thanks! I don't think there was any strong reason to enforce the type of encoding in the first place other than simplicity of the implementation.

Sep 8 2022, 2:59 PM · Restricted Project, Restricted Project
maksfb accepted D132054: [BOLT] Introduce SplitStrategy ABC.

Looks good to me. Please fix grammar in "Summary" before committing.

Sep 8 2022, 1:57 PM · Restricted Project, Restricted Project
maksfb accepted D132426: [BOLT] Add test checking LP trampolines in multi-split.

LGTM

Sep 8 2022, 11:22 AM · Restricted Project, Restricted Project
maksfb accepted D132778: [BOLT] Change reorder-blocks deprecated option warning output.
Sep 8 2022, 11:18 AM · Restricted Project, Restricted Project
maksfb accepted D132882: [BOLT] Restrict ICP for functions with unknown control flow.
Sep 8 2022, 11:17 AM · Restricted Project, Restricted Project

Sep 7 2022

maksfb accepted D133467: [BOLT][TEST] Remove functions with dynamic exception specification.
Sep 7 2022, 8:05 PM · Restricted Project, Restricted Project

Sep 6 2022

maksfb added a comment to D132426: [BOLT] Add test checking LP trampolines in multi-split.

Do you expect this test to fail as it is in the stack?

Sep 6 2022, 12:33 PM · Restricted Project, Restricted Project
maksfb accepted D132052: [BOLT] Emit LSDA call sites for all fragments.

LGTM

Sep 6 2022, 12:29 PM · Restricted Project, Restricted Project
maksfb accepted D133068: [BOLT] Distinguish sections in heatmap.

LGTM

Sep 6 2022, 12:27 PM · Restricted Project, Restricted Project

Sep 1 2022

maksfb added inline comments to D132495: [BOLT] Verify externally referenced blocks against jump table targets.
Sep 1 2022, 11:05 AM · Restricted Project, Restricted Project

Aug 25 2022

maksfb accepted D132422: [BOLT][DWARF] Fix updating CU that has no entry in .debug_addr.

LGTM

Aug 25 2022, 2:01 PM · Restricted Project, Restricted Project

Aug 5 2022

maksfb accepted D131283: [BOLT] Disable -lite when split function is present.
Aug 5 2022, 3:50 PM · Restricted Project, Restricted Project
maksfb requested changes to D131283: [BOLT] Disable -lite when split function is present.
Aug 5 2022, 3:03 PM · Restricted Project, Restricted Project

Jul 30 2022

maksfb accepted D130824: [BOLT] Fixed some typos.

Title nit: "[BOLT] Fix typos". Thanks!

Jul 30 2022, 2:02 PM · Restricted Project, Restricted Project