hiraditya (Aditya Kumar)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 5 2014, 4:23 PM (240 w, 5 d)

Recent Activity

Yesterday

hiraditya added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

Any updates?

Mon, Oct 15, 11:20 PM
hiraditya added inline comments to D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary.
Mon, Oct 15, 10:47 PM
hiraditya added inline comments to D53254: [Merge SImilar Function ThinLTO 5/n] Set up similar function to be imported.
Mon, Oct 15, 9:11 PM
hiraditya added a comment to D52904: [hot-cold-split] fix static analysis of cold regions.

With this patch I now see a 3% speedup on sqlite vs. no hot-cold-split pass.

Awesome! Thanks for improving this!

I think the 3% uplift in performance is within the noise level.
At least with this patch I do not see the 10% regression in performance with hot/cold partitioning
which most likely was due to doubling the cost of function calls when the whole function was outlined.

Mon, Oct 15, 3:15 PM
hiraditya added a comment to D52904: [hot-cold-split] fix static analysis of cold regions.

With this patch I now see a 3% speedup on sqlite vs. no hot-cold-split pass.

Awesome! Thanks for improving this!

Mon, Oct 15, 2:26 PM

Sun, Oct 14

hiraditya updated the diff for D52896: MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences.
Sun, Oct 14, 11:33 AM
hiraditya updated the diff for D52898: [Porting MergeSimilarFunctions 2/n] Changes to DataLayout.
Sun, Oct 14, 11:32 AM
hiraditya updated the diff for D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary.
Sun, Oct 14, 11:29 AM
hiraditya updated the diff for D53253: [Merge SImilar Function ThinLTO 4/n] Make merge function decisions before the thin-lto stage.
Sun, Oct 14, 11:25 AM
hiraditya updated the diff for D53254: [Merge SImilar Function ThinLTO 5/n] Set up similar function to be imported.
Sun, Oct 14, 11:24 AM
hiraditya updated the diff for D53254: [Merge SImilar Function ThinLTO 5/n] Set up similar function to be imported.
Sun, Oct 14, 10:27 AM
hiraditya updated the diff for D53254: [Merge SImilar Function ThinLTO 5/n] Set up similar function to be imported.

llvm_debug

Sun, Oct 14, 12:32 AM
hiraditya updated the diff for D52896: MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences.

Compiler error with CloneType

Sun, Oct 14, 12:24 AM
hiraditya updated the diff for D53253: [Merge SImilar Function ThinLTO 4/n] Make merge function decisions before the thin-lto stage.

compiler error

Sun, Oct 14, 12:18 AM

Sat, Oct 13

hiraditya retitled D53254: [Merge SImilar Function ThinLTO 5/n] Set up similar function to be imported from [Merge SImilar Function ThinLTO] Set up similar function to be imported to [Merge SImilar Function ThinLTO 5/n] Set up similar function to be imported.
Sat, Oct 13, 11:26 PM
hiraditya retitled D53253: [Merge SImilar Function ThinLTO 4/n] Make merge function decisions before the thin-lto stage from [Merge SImilar Function ThinLTO] Make merge function decisions before the thin-lto stage to [Merge SImilar Function ThinLTO 4/n] Make merge function decisions before the thin-lto stage.
Sat, Oct 13, 11:25 PM
hiraditya retitled D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary from [Merge SImilar Function ThinLTO] Add hash code to function summary to [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary.
Sat, Oct 13, 11:25 PM
hiraditya retitled D52896: MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences from MergeSimilarFunctions: a code size pass to merge functions with small differences to MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences.
Sat, Oct 13, 11:25 PM
hiraditya retitled D52898: [Porting MergeSimilarFunctions 2/n] Changes to DataLayout from [Porting MergeSimilarFunctions] Changes to DataLayout to [Porting MergeSimilarFunctions 2/n] Changes to DataLayout.
Sat, Oct 13, 11:25 PM
hiraditya created D53254: [Merge SImilar Function ThinLTO 5/n] Set up similar function to be imported.
Sat, Oct 13, 11:24 PM
hiraditya retitled D53253: [Merge SImilar Function ThinLTO 4/n] Make merge function decisions before the thin-lto stage from Make merge function decisions before the thin-lto stage to [Merge SImilar Function ThinLTO] Make merge function decisions before the thin-lto stage.
Sat, Oct 13, 11:21 PM
hiraditya updated the summary of D53253: [Merge SImilar Function ThinLTO 4/n] Make merge function decisions before the thin-lto stage.
Sat, Oct 13, 11:05 PM
hiraditya updated the summary of D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary.
Sat, Oct 13, 11:05 PM
hiraditya created D53253: [Merge SImilar Function ThinLTO 4/n] Make merge function decisions before the thin-lto stage.
Sat, Oct 13, 11:04 PM
hiraditya retitled D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary from Add hash code to function summary to [Merge SImilar Function ThinLTO] Add hash code to function summary.
Sat, Oct 13, 10:46 PM

Mon, Oct 8

hiraditya added a reviewer for D32564: AArch64: compress jump tables to minimum size needed to reach destinations: evandro.
Mon, Oct 8, 9:39 AM

Sat, Oct 6

hiraditya updated the diff for D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary.
Sat, Oct 6, 9:23 PM
hiraditya created D52966: [Merge SImilar Function ThinLTO 3/n] Add hash code to function summary.
Sat, Oct 6, 8:25 PM

Fri, Oct 5

Herald updated subscribers of D51205: Move SuffixTree type to a common location.
Fri, Oct 5, 10:06 AM

Thu, Oct 4

hiraditya created D52898: [Porting MergeSimilarFunctions 2/n] Changes to DataLayout.
Thu, Oct 4, 11:34 AM
hiraditya updated the diff for D52896: MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences.

DEBUG -> LLVM_DEBUG

Thu, Oct 4, 11:27 AM
hiraditya updated subscribers of D52896: MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences.
Thu, Oct 4, 11:23 AM
hiraditya created D52896: MergeSimilarFunctions 1/n: a code size pass to merge functions with small differences.
Thu, Oct 4, 11:22 AM

Wed, Oct 3

hiraditya added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

Perhaps the impact is negligible, non-existent, and we worry about this for nothing. As also suggested earlier, I will try to get some numbers on the table for ARM and AArch64 if we strip out the lowering here, if that is helpful for this discussion, but probably need a day or two to get them.

If you could provide some numbers, I can go ahead and remove the inlining of memcpy altogether provided the reviewers agree with it, or we can merge this patch which is trying to improve on previously hardcoded numbers.

Yes, I support removing the expansion entirely, but I don't think we can commit that change without doing some advance perf testing.

Wed, Oct 3, 8:52 AM

Tue, Oct 2

hiraditya committed rL343663: Improve static analysis of cold basic blocks.
Improve static analysis of cold basic blocks
Tue, Oct 2, 11:22 PM
hiraditya closed D52704: Improve static analysis of cold basic blocks.
Tue, Oct 2, 11:22 PM
hiraditya committed rL343662: Add support for new pass manager.
Add support for new pass manager
Tue, Oct 2, 10:57 PM
hiraditya closed D52708: Add support for new pass manager.
Tue, Oct 2, 10:57 PM
hiraditya added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

The ultimate goal would be to simply always canonicalize to memcpy and not expand it ever in instcombine as mentioned in D52081.

Looks like we all agree on this now.

But we don't do that (yet) because we're afraid of missed optimizations that can't be replicated in the backend.

Perhaps the impact is negligible, non-existent, and we worry about this for nothing. As also suggested earlier, I will try to get some numbers on the table for ARM and AArch64 if we strip out the lowering here, if that is helpful for this discussion, but probably need a day or two to get them.

Tue, Oct 2, 11:09 AM
hiraditya added inline comments to D35035: [InstCombine] Prevent memcpy generation for small data size.
Tue, Oct 2, 10:14 AM
hiraditya added inline comments to D35035: [InstCombine] Prevent memcpy generation for small data size.
Tue, Oct 2, 7:17 AM
hiraditya updated the diff for D52708: Add support for new pass manager.

Modified the testcases to use both pass managers
Use single commandline flag for both pass managers.

Tue, Oct 2, 7:02 AM

Mon, Oct 1

hiraditya updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.

Updated testcases with utils/update_test_checks.py
use isPowerOf2_64

Mon, Oct 1, 12:00 AM

Sun, Sep 30

hiraditya added a comment to D50658: Hot cold splitting pass.

Added support for new PM: https://reviews.llvm.org/D52708

Sun, Sep 30, 11:36 PM
hiraditya created D52708: Add support for new pass manager.
Sun, Sep 30, 11:35 PM
hiraditya added a comment to D52367: Remove address taken, add optnone.

Will add one soon!

Sun, Sep 30, 12:31 PM
hiraditya added reviewers for D35035: [InstCombine] Prevent memcpy generation for small data size: sebpop, SirishP.
Sun, Sep 30, 12:29 PM
hiraditya updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.

Moved the check of Size before checking the LargestInt.

Sun, Sep 30, 12:28 PM
hiraditya updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.

Fixed all testcases, and removed memcpy inlining when target datalayout is not present.

Sun, Sep 30, 12:22 PM
hiraditya updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.

Fix some unit-tests, a few more remaining.

Sun, Sep 30, 10:16 AM
hiraditya commandeered D35035: [InstCombine] Prevent memcpy generation for small data size.

To fix tests and comments from reviewers.

Sun, Sep 30, 10:15 AM
hiraditya added a comment to D50593: ConstantMerge: merge common initial sequences.

My main worry is that this is only useful with LTO because the linker should do this work otherwise, so at a minimum I need to change the code accordingly.

Sun, Sep 30, 10:15 AM
hiraditya created D52704: Improve static analysis of cold basic blocks.
Sun, Sep 30, 10:08 AM

Tue, Sep 25

hiraditya added inline comments to D52210: [LLVM-C] Add C APIs to access DebugLoc info.
Tue, Sep 25, 2:12 PM

Mon, Sep 24

hiraditya added inline comments to D52210: [LLVM-C] Add C APIs to access DebugLoc info.
Mon, Sep 24, 8:18 AM
hiraditya added inline comments to D52210: [LLVM-C] Add C APIs to access DebugLoc info.
Mon, Sep 24, 8:06 AM

Fri, Sep 21

hiraditya created D52367: Remove address taken, add optnone.
Fri, Sep 21, 10:24 AM

Tue, Sep 18

hiraditya added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

I think this patch is good to go, I can push this if someone accepts. I'll fix the comments.

I still don't understand the (LargestInt == 0) hack. I think everyone agrees that the existing code is wrong, so why preserve the existing behavior if we don't have a valid datalayout? Ie, there's no risk for real targets because they always have a non-zero getLargestLegalIntTypeSizeInBits()?

Agreed, I'll remove that part then. That was only to make other testcases happy by preserving existing behavior. Thanks

Presumably those testcases should simply be updated to contain the expected datalayout?

Tue, Sep 18, 9:46 PM
hiraditya added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

I think this patch is good to go, I can push this if someone accepts. I'll fix the comments.

I still don't understand the (LargestInt == 0) hack. I think everyone agrees that the existing code is wrong, so why preserve the existing behavior if we don't have a valid datalayout? Ie, there's no risk for real targets because they always have a non-zero getLargestLegalIntTypeSizeInBits()?

Tue, Sep 18, 9:36 AM

Mon, Sep 17

hiraditya added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

I think this patch is good to go, I can push this if someone accepts. I'll fix the comments.

Mon, Sep 17, 2:26 PM

Sun, Sep 16

hiraditya added inline comments to D35035: [InstCombine] Prevent memcpy generation for small data size.
Sun, Sep 16, 11:54 PM

Sep 9 2018

hiraditya added a comment to D50593: ConstantMerge: merge common initial sequences.

If you have the code-size numbers, please provide that then I can accept the patch.

Sep 9 2018, 6:49 PM

Sep 7 2018

hiraditya committed rL341669: Hot cold splitting pass.
Hot cold splitting pass
Sep 7 2018, 8:09 AM
hiraditya closed D50658: Hot cold splitting pass.
Sep 7 2018, 8:09 AM

Sep 5 2018

hiraditya added a comment to D50658: Hot cold splitting pass.

If there are no-more suggestions for this first draft I'd like to get this in (disabled by default) such that people can try and give feedback. Thanks!

Sep 5 2018, 12:18 PM

Aug 27 2018

hiraditya updated the diff for D50658: Hot cold splitting pass.

Rebase onto top of trunk

Aug 27 2018, 2:53 PM
hiraditya added a comment to D50658: Hot cold splitting pass.

I'll rebase onto top of trunk.

Aug 27 2018, 2:41 PM
hiraditya updated the diff for D50658: Hot cold splitting pass.

Check calling convention of outlined function to discard it form hot-cold split optimization

Aug 27 2018, 1:34 AM
hiraditya updated the diff for D50658: Hot cold splitting pass.

Added testcase and disable recursive outlining of cold-functions.

Aug 27 2018, 1:28 AM

Aug 26 2018

hiraditya updated the diff for D50658: Hot cold splitting pass.

Fixed copy-paste error.

Aug 26 2018, 4:22 PM

Aug 25 2018

hiraditya updated the diff for D50658: Hot cold splitting pass.

Suggestions from Sebastian:

Aug 25 2018, 11:35 AM
hiraditya commandeered D50658: Hot cold splitting pass.
Aug 25 2018, 11:33 AM

Aug 19 2018

hiraditya updated the diff for D50658: Hot cold splitting pass.

Forward propagate profile information to all cold-blocks.

Aug 19 2018, 11:03 PM

Aug 18 2018

hiraditya added a comment to D50323: [GVNHoist] Prune out useless CHI insertions.

Do you need help with pushing the changes?

Aug 18 2018, 1:19 PM
hiraditya committed rL340131: Updating MergeFunctions.rst.
Updating MergeFunctions.rst
Aug 18 2018, 1:18 PM
hiraditya closed D50686: Updating MergeFunctions.rst.
Aug 18 2018, 1:18 PM
hiraditya added a comment to D50797: [RISCV] Fixed Assertion`Kind == Immediate && "Invalid type access!"' failed..

Updated one more Immediate class.
We should probably update them all, the fuzzer keeps breaking. Let me know.

Aug 18 2018, 1:09 PM
hiraditya updated the diff for D50658: Hot cold splitting pass.

Updated with patches from @sebpop

Aug 18 2018, 1:07 PM

Aug 17 2018

hiraditya added a comment to D50658: Hot cold splitting pass.

Thanks @sebpop for the patches. I'll update them. Having a static analysis to split the blocks will definitely help when we don;t have profile.

Aug 17 2018, 12:31 PM

Aug 15 2018

hiraditya accepted D50686: Updating MergeFunctions.rst.

Thanks for improving the docs. I'll merge this!

Aug 15 2018, 9:07 PM
hiraditya added inline comments to D50737: [ASTImporter] Add test for CXXNoexceptExpr.
Aug 15 2018, 9:05 PM
hiraditya accepted D50796: [ASTImporter] Add test for IfStmt.

LGTM, thanks for the test.

Aug 15 2018, 12:36 PM
hiraditya accepted D50797: [RISCV] Fixed Assertion`Kind == Immediate && "Invalid type access!"' failed..

LGTM.

Aug 15 2018, 12:35 PM
hiraditya added a comment to D50730: [AST] Generalize argument specific aliasing.

Thanks for the patch.

Aug 15 2018, 12:23 PM
hiraditya accepted D50768: [analyzer] Delete SMTContext. NFC..

Good catch!

Aug 15 2018, 10:33 AM
hiraditya added inline comments to D50766: Fix false positive unsequenced access and modification warning in array subscript expression..
Aug 15 2018, 10:32 AM · Restricted Project
hiraditya updated subscribers of D50778: [LV] Vectorize loops where non-phi instructions used outside loop.
Aug 15 2018, 10:28 AM
hiraditya added a comment to D50786: [AST] Remove notion of volatile from alias sets.

There was discussion sometime back, might be worth looking at: https://groups.google.com/forum/#!topic/llvm-dev/uLvitfqEd_g

Aug 15 2018, 10:01 AM
hiraditya added a reviewer for D50786: [AST] Remove notion of volatile from alias sets: kparzysz.
Aug 15 2018, 10:00 AM
hiraditya added a comment to D50658: Hot cold splitting pass.

This looks good. Do you have a testcase that demonstrates what this pass does?

Aug 15 2018, 9:50 AM

Aug 14 2018

hiraditya accepted D47143: [InstrSimplify,NewGVN] Add option to ignore additional instr info when simplifying..

Accepting because there are no alternate suggestions, and this patch fixes miscompiles preventing NewGVN to be used in some cases.

Aug 14 2018, 4:24 PM
hiraditya added a comment to D22051: MergeSimilarFunctions: a code size pass to merge functions with small differences.

MergeSimilarFunctions demonstrates great improvement on Cisco software, so this is of great value to us. We have some improvements upon the base work to improve the compile time.

Aug 14 2018, 9:59 AM
hiraditya abandoned D32614: [GVNHoist] Fix: PR32821, add check for anticipability in case of infinite loops.

Merged with GVNHoist long time back.

Aug 14 2018, 9:41 AM
hiraditya added reviewers for D47143: [InstrSimplify,NewGVN] Add option to ignore additional instr info when simplifying.: sebpop, hiraditya.
Aug 14 2018, 9:38 AM
hiraditya added a comment to D47143: [InstrSimplify,NewGVN] Add option to ignore additional instr info when simplifying..

LGTM with the minor nit.

Aug 14 2018, 9:38 AM
hiraditya added a reviewer for D50593: ConstantMerge: merge common initial sequences: hiraditya.
Aug 14 2018, 5:57 AM
hiraditya added a comment to D50593: ConstantMerge: merge common initial sequences.

Have you tested this patch with some benchmarks or an open source project? What is the impact on compilation time?

Aug 14 2018, 5:57 AM
hiraditya added a comment to D45300: Update MemorySSA BasicBlockUtils..

The general idea appears to be good, do you have any testcases reflect the change?

Aug 14 2018, 5:46 AM
hiraditya accepted D50674: [libc++] Add missing #include in C11 features tests.

Good catch!

Aug 14 2018, 5:40 AM
hiraditya accepted D50687: [GraphDiff] Make InverseGraph a property of a GraphDiff..
Aug 14 2018, 5:38 AM