Page MenuHomePhabricator

snehasish (Snehasish Kumar)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 10 2017, 12:15 PM (171 w, 3 d)

Recent Activity

Yesterday

snehasish updated subscribers of D88041: [lld] Add a flag to enable split machine functions for LTO..

Is it expected that the user will want to specify this only at link time and not during compile time? If it is normally specified in the compile step, you should consider adding it to the IR in some fashion (e.g. function attributes). The advantage is that the user doesn't need to pass different options for the LTO and non-LTO cases.

Ideally we should only have to specify this once. However, using function attributes doesn't seem ideal since the pass will be scheduled and repeatedly invoked only to return without actually running the pass. It would be cleaner to marshal the codegen specific options from the compile invocation and restore them for the LTO step. There are a couple of other codegen options which would also benefit from this approach --lto-unique-basic-block-section-names, --lto-basic-block-sections=<value>. @mtrofin pointed out that -fembed-bitcode saves the invocation in .llvmcmd. A similar approach to stash codegen specific options always for LTO to pick up and enable might be less intrusive. However, this is a larger effort and for current LTO builds it would be nice to have a command line option to enable it. WDYT about this alternative?

Tue, Sep 22, 3:42 PM · Restricted Project

Mon, Sep 21

snehasish added a comment to D87813: [llvm]Add an option to emit cold clusters to a different section..

ping @tmsriram @MaskRay

Mon, Sep 21, 2:42 PM · Restricted Project
snehasish retitled D87813: [llvm]Add an option to emit cold clusters to a different section. from [llvm][lld] Add an option to emit cold clusters to a different section. to [llvm]Add an option to emit cold clusters to a different section..
Mon, Sep 21, 2:42 PM · Restricted Project
snehasish updated the diff for D87813: [llvm]Add an option to emit cold clusters to a different section..

Rebase and update git commit message.

Mon, Sep 21, 2:41 PM · Restricted Project
snehasish requested review of D88041: [lld] Add a flag to enable split machine functions for LTO..
Mon, Sep 21, 12:48 PM · Restricted Project

Fri, Sep 18

snehasish committed rGb86f1af42395: [clang] Remove profile available check for fsplit-machine-functions. (authored by snehasish).
[clang] Remove profile available check for fsplit-machine-functions.
Fri, Sep 18, 3:20 PM
snehasish closed D87943: [clang] Remove profile available check for fsplit-machine-functions..
Fri, Sep 18, 3:20 PM · Restricted Project
snehasish retitled D87943: [clang] Remove profile available check for fsplit-machine-functions. from [clang] Remove profile availabile check for fsplit-machine-functions. to [clang] Remove profile available check for fsplit-machine-functions..
Fri, Sep 18, 2:33 PM · Restricted Project
snehasish added a comment to D87943: [clang] Remove profile available check for fsplit-machine-functions..

Thanks for the quick review!

Fri, Sep 18, 2:29 PM · Restricted Project
snehasish updated the diff for D87943: [clang] Remove profile available check for fsplit-machine-functions..

Drop braces, add a test.

Fri, Sep 18, 2:28 PM · Restricted Project
snehasish requested review of D87943: [clang] Remove profile available check for fsplit-machine-functions..
Fri, Sep 18, 2:13 PM · Restricted Project

Thu, Sep 17

snehasish added a comment to D87840: [lld] Add a new known text prefix - ".text.split.".

Carrying over the discussion from D87813 since it's more appropriate here:

Thu, Sep 17, 12:21 PM · Restricted Project
snehasish updated the summary of D87813: [llvm]Add an option to emit cold clusters to a different section..
Thu, Sep 17, 10:18 AM · Restricted Project
snehasish added inline comments to D87813: [llvm]Add an option to emit cold clusters to a different section..
Thu, Sep 17, 10:18 AM · Restricted Project
snehasish updated the diff for D87813: [llvm]Add an option to emit cold clusters to a different section..

Drop lld/ELF/Writer.cpp changes.

Thu, Sep 17, 10:17 AM · Restricted Project
snehasish requested review of D87840: [lld] Add a new known text prefix - ".text.split.".
Thu, Sep 17, 10:07 AM · Restricted Project

Wed, Sep 16

snehasish requested review of D87813: [llvm]Add an option to emit cold clusters to a different section..
Wed, Sep 16, 9:54 PM · Restricted Project

Tue, Sep 15

snehasish committed rGf1a3ab904439: [clang] Add a command line flag for the Machine Function Splitter. (authored by snehasish).
[clang] Add a command line flag for the Machine Function Splitter.
Tue, Sep 15, 12:43 PM
snehasish closed D87047: [clang] Add command line options for the Machine Function Splitter..
Tue, Sep 15, 12:43 PM · Restricted Project
snehasish added a comment to D87047: [clang] Add command line options for the Machine Function Splitter..

Thanks for the review.

Tue, Sep 15, 11:27 AM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Update the test.

Tue, Sep 15, 11:23 AM · Restricted Project

Mon, Sep 14

snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Remove unnecessary includes, update doc text.

Mon, Sep 14, 9:36 PM · Restricted Project
snehasish added a comment to D87047: [clang] Add command line options for the Machine Function Splitter..

That makes sense. I moved the check to lib/Driver/ToolChains/Clang.cpp and updated the test. Seems cleaner to have all the checks in one place.
PTAL, thanks.

Mon, Sep 14, 9:15 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Check profile flag in Driver, update test.

Mon, Sep 14, 9:11 PM · Restricted Project
snehasish added inline comments to D87047: [clang] Add command line options for the Machine Function Splitter..
Mon, Sep 14, 7:17 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Remove extra -c from test command line.

Mon, Sep 14, 7:11 PM · Restricted Project
snehasish added a comment to D87047: [clang] Add command line options for the Machine Function Splitter..

@MaskRay ping, let me know if you have any further comments. Thanks!

Mon, Sep 14, 4:38 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Rebased patch.

Mon, Sep 14, 4:26 PM · Restricted Project

Fri, Sep 11

snehasish updated subscribers of D87047: [clang] Add command line options for the Machine Function Splitter..

It feels wrong that the assembly+llvm-profdata test is in clang/test

I agree with @dblaikie and your assessment that it feels wrong to add such a test to clang. In the first version of this patch, the test served the purpose of representing the canonical usage with profdata as well as check for the plumbing of the profile along with the presence of the flag. Enhancing the driver test removed the need for the former while adding a diagnostic warning message (and a check for it) removes the need for the latter. I've removed the clang codegen test.

Fri, Sep 11, 11:34 AM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Remove clang/CodeGen test, update arg render logic.

Fri, Sep 11, 11:27 AM · Restricted Project

Thu, Sep 10

snehasish added inline comments to D87047: [clang] Add command line options for the Machine Function Splitter..
Thu, Sep 10, 8:55 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Fix test formatting.

Thu, Sep 10, 8:54 PM · Restricted Project
snehasish added a comment to D87047: [clang] Add command line options for the Machine Function Splitter..

PTAL, thanks!

Thu, Sep 10, 5:58 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Use OptInFFlag, split-file and update tests.

Thu, Sep 10, 5:50 PM · Restricted Project
snehasish updated the summary of D87047: [clang] Add command line options for the Machine Function Splitter..
Thu, Sep 10, 12:33 PM · Restricted Project
snehasish updated the summary of D87047: [clang] Add command line options for the Machine Function Splitter..
Thu, Sep 10, 12:32 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Check warning, specify target to avoid failures on windows.

Thu, Sep 10, 12:31 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Updated test and warning type.

Thu, Sep 10, 12:07 PM · Restricted Project
snehasish committed rG157cd93b48a9: [clang] Disallow fbasic-block-sections on non-ELF, non-x86 targets. (authored by snehasish).
[clang] Disallow fbasic-block-sections on non-ELF, non-x86 targets.
Thu, Sep 10, 12:20 AM
snehasish closed D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets..
Thu, Sep 10, 12:20 AM · Restricted Project
snehasish added a comment to D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets..

Thanks for explaining the rationale, PTAL.

Thu, Sep 10, 12:04 AM · Restricted Project
snehasish updated the diff for D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets..

Update test to use not tool and -c flag.

Thu, Sep 10, 12:00 AM · Restricted Project

Wed, Sep 9

snehasish added a comment to D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets..

Thanks for the quick review @MaskRay, PTAL.

Wed, Sep 9, 8:58 PM · Restricted Project
snehasish updated the diff for D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets..

Update test based on review comments.

Wed, Sep 9, 8:52 PM · Restricted Project
snehasish updated the diff for D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets..

Specify triple for driver tests, address comments.

Wed, Sep 9, 7:24 PM · Restricted Project
snehasish requested review of D87426: Disallow fbasic-block-sections on non-ELF, non-x86 targets..
Wed, Sep 9, 5:57 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Add a check for x86-elf.

Wed, Sep 9, 5:34 PM · Restricted Project

Tue, Sep 8

snehasish added a comment to D73739: Exception support for basic block sections.

Once this patch is in we can look into splitting ehpads out though I'm more inclined to enhance the static profile count mechanism to account for ehpads appropriately rather than adding a new flag to MFS. In general, it would be great to have MFS operate with only the knowledge of profiles counts rather than special-casing for particular types of blocks. I tried to test static count driven ehpad splitting on mysql but applying the patch to ToT fails (AsmPrinter.cpp needs to be rebased).

Tue, Sep 8, 11:19 AM · Restricted Project

Thu, Sep 3

snehasish added a comment to D87047: [clang] Add command line options for the Machine Function Splitter..

Thanks for the comments! PTAL.

Thu, Sep 3, 1:59 PM · Restricted Project
snehasish updated the diff for D87047: [clang] Add command line options for the Machine Function Splitter..

Add warning when option is enabled without profile.

Thu, Sep 3, 1:51 PM · Restricted Project

Wed, Sep 2

snehasish requested review of D87047: [clang] Add command line options for the Machine Function Splitter..
Wed, Sep 2, 11:25 AM · Restricted Project

Fri, Aug 28

snehasish accepted D85408: Let -basic-block-sections=labels emit basicblock metadata in a new .bb_addr_map section, instead of emitting special unary-encoded symbols..

LGTM. Please wait a bit for additional comments from others.

Fri, Aug 28, 4:06 PM · Restricted Project, Restricted Project
snehasish committed rG94faadaca4e1: [llvm][CodeGen] Machine Function Splitter (authored by snehasish).
[llvm][CodeGen] Machine Function Splitter
Fri, Aug 28, 11:14 AM
snehasish closed D85368: [llvm][CodeGen] Machine Function Splitter.
Fri, Aug 28, 11:13 AM · Restricted Project
snehasish added a comment to D85368: [llvm][CodeGen] Machine Function Splitter.

Thanks for the comments all! The builds look green and I'm going to go ahead and push this.

Fri, Aug 28, 11:09 AM · Restricted Project
snehasish updated the diff for D85368: [llvm][CodeGen] Machine Function Splitter.

Address reviewer comments.

Fri, Aug 28, 10:02 AM · Restricted Project

Wed, Aug 26

snehasish added inline comments to D85408: Let -basic-block-sections=labels emit basicblock metadata in a new .bb_addr_map section, instead of emitting special unary-encoded symbols..
Wed, Aug 26, 7:19 PM · Restricted Project, Restricted Project
snehasish added inline comments to D85408: Let -basic-block-sections=labels emit basicblock metadata in a new .bb_addr_map section, instead of emitting special unary-encoded symbols..
Wed, Aug 26, 2:11 PM · Restricted Project, Restricted Project

Tue, Aug 25

snehasish added a comment to D85368: [llvm][CodeGen] Machine Function Splitter.

Thanks for the comments.
@efriedma @hiraditya - Let me know if you have any further comments, I will wait till EOD Thursday 08/26. If not I'll take that as go ahead to commit this change.

Tue, Aug 25, 3:52 PM · Restricted Project
snehasish updated the diff for D85368: [llvm][CodeGen] Machine Function Splitter.

Add a comment to explain renumbering, FIXME for ehpads.

Tue, Aug 25, 3:41 PM · Restricted Project

Aug 20 2020

snehasish added inline comments to D85368: [llvm][CodeGen] Machine Function Splitter.
Aug 20 2020, 1:05 PM · Restricted Project

Aug 18 2020

snehasish added inline comments to D85368: [llvm][CodeGen] Machine Function Splitter.
Aug 18 2020, 9:33 PM · Restricted Project
snehasish added a comment to D85368: [llvm][CodeGen] Machine Function Splitter.

Thanks for the reviews!
@hiraditya I've added a test to ensure ehpads are not split out. Let me know if there are additional cases you want to cover.

Aug 18 2020, 8:09 PM · Restricted Project
snehasish updated the diff for D85368: [llvm][CodeGen] Machine Function Splitter.

Address review comments.

Aug 18 2020, 7:31 PM · Restricted Project

Aug 10 2020

snehasish updated the diff for D85368: [llvm][CodeGen] Machine Function Splitter.

Add an option to exclude specific sections.

Aug 10 2020, 7:21 PM · Restricted Project
snehasish added a comment to D85368: [llvm][CodeGen] Machine Function Splitter.

Thanks for adding the results, could you share the script to measure bootstrap numbers?

I've uploaded a Makefile here which will allow you to run the bootstrap benchmarks. Applying this patch on a local llvm repo and pointing the Makefile at it should be sufficient to get you going.

Aug 10 2020, 10:37 AM · Restricted Project

Aug 8 2020

snehasish updated the diff for D85368: [llvm][CodeGen] Machine Function Splitter.

Update PSI metadata to fix assert failure.

Aug 8 2020, 11:13 PM · Restricted Project

Aug 7 2020

snehasish added a comment to D85368: [llvm][CodeGen] Machine Function Splitter.

Could you share the details of the machine as well?

Sure, these were measured on a Lenovo P920 workstation -- Intel Skylake based Xeon(R) Gold 6154 CPU.

Aug 7 2020, 6:38 PM · Restricted Project
snehasish updated the diff for D85368: [llvm][CodeGen] Machine Function Splitter.

Simplify the cold count check.

Aug 7 2020, 12:29 PM · Restricted Project
snehasish added inline comments to D85368: [llvm][CodeGen] Machine Function Splitter.
Aug 7 2020, 12:24 PM · Restricted Project
snehasish updated the summary of D85368: [llvm][CodeGen] Machine Function Splitter.
Aug 7 2020, 12:17 PM · Restricted Project
snehasish updated the summary of D85368: [llvm][CodeGen] Machine Function Splitter.
Aug 7 2020, 12:15 PM · Restricted Project
snehasish updated the summary of D85368: [llvm][CodeGen] Machine Function Splitter.
Aug 7 2020, 12:14 PM · Restricted Project
snehasish updated the diff for D85368: [llvm][CodeGen] Machine Function Splitter.

Updated diff based on review comments.

Aug 7 2020, 12:12 PM · Restricted Project

Aug 6 2020

snehasish committed rG8d943a928d25: [NFC] Rename BBSectionsPrepare -> BasicBlockSections. (authored by snehasish).
[NFC] Rename BBSectionsPrepare -> BasicBlockSections.
Aug 6 2020, 1:12 PM
snehasish closed D85380: [NFC] Rename BBSectionsPrepare -> BasicBlockSections..
Aug 6 2020, 1:12 PM · Restricted Project

Aug 5 2020

snehasish requested review of D85380: [NFC] Rename BBSectionsPrepare -> BasicBlockSections..
Aug 5 2020, 5:16 PM · Restricted Project
snehasish requested review of D85368: [llvm][CodeGen] Machine Function Splitter.
Aug 5 2020, 3:42 PM · Restricted Project

Aug 4 2020

snehasish added a comment to D83885: [Propeller]: Use a descriptive temporary symbol name for the end of the basic block..

LGTM

Aug 4 2020, 3:55 PM · Restricted Project

May 4 2020

snehasish committed rGc8ac29ab1d79: Descriptive symbol names for machine basic block sections. (authored by snehasish).
Descriptive symbol names for machine basic block sections.
May 4 2020, 12:23 PM
snehasish closed D79221: Descriptive symbol names for machine basic block sections.
May 4 2020, 12:23 PM · Restricted Project

May 2 2020

snehasish updated the diff for D79221: Descriptive symbol names for machine basic block sections.

Updated string types based on reviewer comments.

May 2 2020, 3:22 PM · Restricted Project
snehasish added a comment to D79221: Descriptive symbol names for machine basic block sections.

@efriedma Thanks for the pointers on LLVM string types. Updated the diff with changes, please take a look. Thanks!

May 2 2020, 3:22 PM · Restricted Project

May 1 2020

snehasish added inline comments to D79221: Descriptive symbol names for machine basic block sections.
May 1 2020, 5:09 PM · Restricted Project
snehasish updated the diff for D79221: Descriptive symbol names for machine basic block sections.
May 1 2020, 5:09 PM · Restricted Project

Apr 30 2020

snehasish created D79221: Descriptive symbol names for machine basic block sections.
Apr 30 2020, 5:38 PM · Restricted Project

Apr 24 2020

snehasish updated the summary of D78742: Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections..
Apr 24 2020, 2:39 PM · Restricted Project
snehasish updated subscribers of D78742: Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections..

Thanks for the reviews @eli.friedman @tmsriram.
Can someone go ahead and push this this for me since I don't have commit access?

Apr 24 2020, 2:39 PM · Restricted Project

Apr 23 2020

snehasish updated the diff for D78742: Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections..

Addressed review comment.

Apr 23 2020, 7:34 PM · Restricted Project
snehasish added inline comments to D78742: Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections..
Apr 23 2020, 3:47 PM · Restricted Project
snehasish updated the diff for D78742: Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections..

Use a ".text.eh" prefix instead of ".eh" suffix for exception machine basic block sections.
Update the basic-block-sections-clusters-eh test.

Apr 23 2020, 3:47 PM · Restricted Project
snehasish retitled D78742: Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections. from Use .text.unlikely prefix for cold MachineBasicBlock sections. to Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections..
Apr 23 2020, 3:47 PM · Restricted Project
snehasish created D78742: Use .text.unlikely and .text.eh prefixes for MachineBasicBlock sections..
Apr 23 2020, 12:28 PM · Restricted Project