Page MenuHomePhabricator

nadav (Nadav Rotem)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 19 2012, 1:00 PM (496 w, 4 d)

Recent Activity

Feb 3 2022

nadav added a comment to D116895: Fix a missed opportunity to optimize consecutive stores..

Hi Björn. Thank you for looking into this bug and reproducing the problem on aarch64. It sounds like you found the underlying issue in checkMergeStoreCandidatesForDependencies. Do you need help with anything?

Feb 3 2022, 9:29 AM · Restricted Project

Jan 20 2022

nadav committed rG191a6e9dfa1a: optimize icmp-ugt-ashr (authored by nadav).
optimize icmp-ugt-ashr
Jan 20 2022, 9:34 AM

Jan 19 2022

nadav updated the diff for D117365: [InstCombine] optimize icmp-ugt-ashr .
Jan 19 2022, 8:56 AM · Restricted Project
nadav added a comment to D117365: [InstCombine] optimize icmp-ugt-ashr .

Ah, I did miss something. I'll rewrite the second check: "Assume ((c +1 ) << y) != 127"

Jan 19 2022, 7:51 AM · Restricted Project
nadav added a comment to D117365: [InstCombine] optimize icmp-ugt-ashr .

@craig.topper Thank you for the review, and for writing the proof, of course. This is my understanding of the code and of your proof.

Jan 19 2022, 7:48 AM · Restricted Project

Jan 18 2022

nadav updated the diff for D117365: [InstCombine] optimize icmp-ugt-ashr .
Jan 18 2022, 12:10 PM · Restricted Project

Jan 14 2022

nadav updated the diff for D117365: [InstCombine] optimize icmp-ugt-ashr .
Jan 14 2022, 4:08 PM · Restricted Project
nadav requested review of D117365: [InstCombine] optimize icmp-ugt-ashr .
Jan 14 2022, 4:05 PM · Restricted Project
nadav committed rG8dff860c220c: [NFC] Add additional tests for icmp predicate. (authored by nadav).
[NFC] Add additional tests for icmp predicate.
Jan 14 2022, 3:27 PM
nadav committed rG9551fc57b7e9: Fold ashr-exact into a icmp-ugt. (authored by nadav).
Fold ashr-exact into a icmp-ugt.
Jan 14 2022, 12:59 PM
nadav closed D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .
Jan 14 2022, 12:59 PM · Restricted Project
nadav added a comment to D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .

@lebedev.ri Okay. I'll add the extra tests, but I'll do it in a separate diff because I've already landed the pre-commit diff that added the extra tests. I also need to look at the optimization that craig pointed out.

Jan 14 2022, 12:58 PM · Restricted Project
nadav committed rG8e47ccd5c26d: Add new tests that check the icmp-ashr baseline. (authored by nadav).
Add new tests that check the icmp-ashr baseline.
Jan 14 2022, 10:59 AM
nadav closed D117338: [InstCombine] Add new tests that check the icmp-ashr baseline..
Jan 14 2022, 10:59 AM · Restricted Project
nadav added a comment to D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .

@spatel Thank you for the review. I added the pre-commit tests in a new diff (https://reviews.llvm.org/D117338). I've also made the changes to the comment as you suggested. Are you willing to approve the diff or do you want to see the comment and do another round of review?

Jan 14 2022, 10:31 AM · Restricted Project
nadav requested review of D117338: [InstCombine] Add new tests that check the icmp-ashr baseline..
Jan 14 2022, 10:29 AM · Restricted Project

Jan 13 2022

nadav added a comment to D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .

@craig.topper Ah. I think that the ICMP_UGT transformation is correct, but if you don't mind I prefer to land the two changes separately. I can start a second review for the ICMP_UGT change. Is that okay with you?

Jan 13 2022, 9:42 PM · Restricted Project
nadav updated the diff for D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .

@craig.topper thank you for the review. I removed the two predicated that are canonicalized before this method is called (ICMP_SGE and ICMP_UGE). I also used the script update_test_checks.py to update the check lines. I also verified with alive2 that the transformation is correct for ICMP_UGT, but only when the exact flag is present (link: https://alive2.llvm.org/ce/z/qBhxAM).

Jan 13 2022, 7:44 PM · Restricted Project
nadav added a comment to D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .

@lebedev.ri Good catch. Thank you. I verified that when 'exact' is present the transformation is valid for all predicates.

Jan 13 2022, 5:05 PM · Restricted Project
nadav updated the diff for D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .
Jan 13 2022, 5:03 PM · Restricted Project
nadav updated the summary of D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .
Jan 13 2022, 2:28 PM · Restricted Project
nadav requested review of D117252: [InstCombine] Fold ashr-exact into a icmp-ugt. .
Jan 13 2022, 2:28 PM · Restricted Project

Jan 10 2022

nadav committed rGe2cc091a7d01: Fix a missed opportunity to merge stores. (authored by nadav).
Fix a missed opportunity to merge stores.
Jan 10 2022, 1:49 PM
nadav closed D116895: Fix a missed opportunity to optimize consecutive stores..
Jan 10 2022, 1:49 PM · Restricted Project
nadav added a comment to D116895: Fix a missed opportunity to optimize consecutive stores..

Added the test merge_store_alias that checks that aliasing loads prevent the merging of the store operations.

Jan 10 2022, 8:50 AM · Restricted Project
nadav updated the diff for D116895: Fix a missed opportunity to optimize consecutive stores..

@hoy Thank you for the review. Yes, the code in TryToAddCandidate and CandidateMatch checks that all of the stores have the same base. I added a second test where the load aliases and prevents the store merging.

Jan 10 2022, 8:50 AM · Restricted Project

Jan 9 2022

nadav updated the diff for D116895: Fix a missed opportunity to optimize consecutive stores..
Jan 9 2022, 9:23 PM · Restricted Project
nadav updated the summary of D116895: Fix a missed opportunity to optimize consecutive stores..
Jan 9 2022, 9:57 AM · Restricted Project
nadav requested review of D116895: Fix a missed opportunity to optimize consecutive stores..
Jan 9 2022, 9:55 AM · Restricted Project

Dec 2 2020

nadav accepted D92506: Remove memory allocation with string.
Dec 2 2020, 2:56 PM · Restricted Project

Nov 3 2020

nadav added a comment to D89322: [LV] Initial VPlan cost modelling.

Hi Dave. I have a quick question. Have you considered tuning the current cost model? What are the compile time implications of using VPlans?

Nov 3 2020, 2:38 PM · Restricted Project

Aug 12 2020

nadav committed rGd54c252bc8a1: [Clang options] Optimize optionMatches() runtime by removing mallocs (authored by nadav).
[Clang options] Optimize optionMatches() runtime by removing mallocs
Aug 12 2020, 11:10 PM
nadav closed D85538: [Clang options] Optimize optionMatches() runtime by removing mallocs.
Aug 12 2020, 11:10 PM · Restricted Project

Aug 7 2020

nadav requested review of D85538: [Clang options] Optimize optionMatches() runtime by removing mallocs.
Aug 7 2020, 10:17 AM · Restricted Project

Jul 27 2020

nadav committed rGdf880b77302d: [StackProtector] Speed up RequiresStackProtector (authored by nadav).
[StackProtector] Speed up RequiresStackProtector
Jul 27 2020, 10:14 AM
nadav closed D84620: [StackProtector] Speed up RequiresStackProtector.
Jul 27 2020, 10:14 AM · Restricted Project
nadav updated the diff for D84620: [StackProtector] Speed up RequiresStackProtector.
Jul 27 2020, 9:09 AM · Restricted Project
nadav updated the summary of D84620: [StackProtector] Speed up RequiresStackProtector.
Jul 27 2020, 8:17 AM · Restricted Project
nadav updated the diff for D84620: [StackProtector] Speed up RequiresStackProtector.

@craig.topper Good catch. Thank you. I've updated the diff.

Jul 27 2020, 8:15 AM · Restricted Project

Jul 26 2020

nadav added a reviewer for D84620: [StackProtector] Speed up RequiresStackProtector: bricci.
Jul 26 2020, 11:31 PM · Restricted Project
Herald added a project to D84620: [StackProtector] Speed up RequiresStackProtector: Restricted Project.
Jul 26 2020, 11:30 PM · Restricted Project

Jul 16 2020

nadav committed rG4fd91b0f946f: Remove an unused variable in Clang. (authored by nadav).
Remove an unused variable in Clang.
Jul 16 2020, 12:50 PM
nadav committed rG8f0a8ed44e27: [InjectTLIMappings] Use StringRef instead of std::string for FN name. (authored by nadav).
[InjectTLIMappings] Use StringRef instead of std::string for FN name.
Jul 16 2020, 11:53 AM
nadav closed D83920: [LiveVariables] Replace std::vector with SmallVector..
Jul 16 2020, 11:46 AM · Restricted Project
nadav committed rGa394aa1b974b: [LiveVariables] Replace std::vector with SmallVector. (authored by nadav).
[LiveVariables] Replace std::vector with SmallVector.
Jul 16 2020, 11:45 AM
nadav committed rGb3417d80aed7: [TableGen] Change std::vector to SmallVector (authored by nadav).
[TableGen] Change std::vector to SmallVector
Jul 16 2020, 11:33 AM

Jul 15 2020

nadav added a comment to D83849: [TableGen] Change std::vector to SmallVector.

@wenlei You are right. SmallVector is a better fit. I updated the patch.

Jul 15 2020, 10:29 PM · Restricted Project
nadav updated the diff for D83849: [TableGen] Change std::vector to SmallVector.
Jul 15 2020, 10:26 PM · Restricted Project
nadav updated the summary of D83849: [TableGen] Change std::vector to SmallVector.
Jul 15 2020, 10:25 PM · Restricted Project
nadav added a reviewer for D83849: [TableGen] Change std::vector to SmallVector: arsenm.
Jul 15 2020, 6:55 PM · Restricted Project
nadav accepted D83851: [Docs] remove unused arguments in documentation examples on vectorization passes.
Jul 15 2020, 6:55 PM · Restricted Project
Herald added a project to D83920: [LiveVariables] Replace std::vector with SmallVector.: Restricted Project.
Jul 15 2020, 4:57 PM · Restricted Project
nadav added a reviewer for D83849: [TableGen] Change std::vector to SmallVector: wenlei.
Jul 15 2020, 1:53 PM · Restricted Project
nadav updated the summary of D83849: [TableGen] Change std::vector to SmallVector.
Jul 15 2020, 10:27 AM · Restricted Project

Jul 14 2020

Herald added a project to D83849: [TableGen] Change std::vector to SmallVector: Restricted Project.
Jul 14 2020, 10:48 PM · Restricted Project
nadav added a comment to D83788: Removed unused variable in clang.

@modocache Thank you for the review. I updated the permissions of the diff. Sorry, for the trouble.

Jul 14 2020, 9:21 PM · Restricted Project
nadav changed the edit policy for D83788: Removed unused variable in clang.
Jul 14 2020, 9:19 PM · Restricted Project
nadav updated the diff for D83788: Removed unused variable in clang.
Jul 14 2020, 5:53 PM · Restricted Project
nadav updated the diff for D83797: [InjectTLIMappings] Use StringRef instead of std::string for FN name..
Jul 14 2020, 1:06 PM · Restricted Project
nadav added a comment to D83797: [InjectTLIMappings] Use StringRef instead of std::string for FN name..

Thank you. I will make the changes and try to commit the patch.

Jul 14 2020, 12:16 PM · Restricted Project
nadav retitled D83797: [InjectTLIMappings] Use StringRef instead of std::string for FN name. from Remove thousands of std::string instances in a helper function that is frequently called. to [InjectTLIMappings] Use StringRef instead of std::string for FN name..
Jul 14 2020, 12:05 PM · Restricted Project
nadav edited reviewers for D83788: Removed unused variable in clang, added: hiraditya; removed: aditya_nandakumar.
Jul 14 2020, 11:23 AM · Restricted Project
nadav updated the diff for D83797: [InjectTLIMappings] Use StringRef instead of std::string for FN name..
Jul 14 2020, 11:19 AM · Restricted Project
Herald added a project to D83797: [InjectTLIMappings] Use StringRef instead of std::string for FN name.: Restricted Project.
Jul 14 2020, 11:17 AM · Restricted Project
nadav added a reviewer for D83788: Removed unused variable in clang: aditya_nandakumar.
Jul 14 2020, 10:46 AM · Restricted Project
nadav added a reviewer for D83788: Removed unused variable in clang: modocache.
Jul 14 2020, 10:09 AM · Restricted Project
nadav changed the visibility for D83788: Removed unused variable in clang.
Jul 14 2020, 10:09 AM · Restricted Project
nadav updated the summary of D83788: Removed unused variable in clang.
Jul 14 2020, 10:05 AM · Restricted Project
nadav updated the diff for D83788: Removed unused variable in clang.
Jul 14 2020, 9:54 AM · Restricted Project
Herald added a project to D83788: Removed unused variable in clang: Restricted Project.
Jul 14 2020, 9:47 AM · Restricted Project

Oct 19 2018

nadav committed rL344819: Update the speaker list for the Glow talk. .
Update the speaker list for the Glow talk.
Oct 19 2018, 4:43 PM

Apr 29 2017

nadav accepted D32620: [DAGCombiner] shrink/widen a vselect to match its condition operand size (PR14657).

LGTM!

Apr 29 2017, 1:08 AM

Apr 27 2017

nadav added inline comments to D32620: [DAGCombiner] shrink/widen a vselect to match its condition operand size (PR14657).
Apr 27 2017, 4:05 PM

Aug 16 2016

nadav added inline comments to D23559: [ADCE] Add control dependence computation.
Aug 16 2016, 9:36 AM

Aug 5 2016

nadav added inline comments to D23225: [ADCE] Modify data structures to support removing control flow.
Aug 5 2016, 1:51 PM

Aug 3 2016

nadav added inline comments to D23102: [ADCE] Refactoring for new functionality (NFC).
Aug 3 2016, 10:10 AM

Aug 2 2016

nadav added a comment to D23065: [ADCE] Refactor anticipating new functionality (NFC).

LGTM.

Aug 2 2016, 12:19 PM

Aug 1 2016

nadav accepted D23049: [LV, X86] Be more optimistic about vectorizing shifts..

LGTM!

Aug 1 2016, 9:32 PM
nadav accepted D22952: [LoopVectorize] Detect loops in the innermost loop before creating InnerLoopVectorizer.
Aug 1 2016, 4:13 PM

Jul 29 2016

nadav added inline comments to D22952: [LoopVectorize] Detect loops in the innermost loop before creating InnerLoopVectorizer.
Jul 29 2016, 12:12 PM

Jul 4 2016

nadav added a comment to D18630: [SLPVectorizer] Account for dependence cycles to fix PR25108.

Ayal, I commented on the bug report that I don't understand why this heuristic is useful in the general case (for loops that are not this specific loop). Are you seeing any speedups on SPEC or the LLVM test suite (or other test suites?).

Jul 4 2016, 8:15 PM

Jun 20 2016

nadav added a comment to D20363: [X86] Extract HiPE prologue constants into metadata.

Magnus, I don't have any problem with this change because it is specific to Erlang. I suggest CC-ing the original author of adjustForHiPEPrologue, and if that person has no objections commit the change. Relying on metadata is not idea, but I understand the constraint.

Jun 20 2016, 1:34 PM

Jun 13 2016

nadav added a comment to D21048: [LV] Enable vectorization of loops where the IV has an external use.

LGTM.

Jun 13 2016, 11:42 PM

May 10 2016

nadav committed rL269073: Update my email address. .
Update my email address.
May 10 2016, 9:30 AM

Mar 30 2016

nadav added a comment to D18537: Don't vectorize loops when everything will be scalarized.

Hal, the code looks much better. I was thinking about this patch on the way to work this morning and I was wondering if you could mark the type <4 x i32> as legal, because you _can_ load it and store it to memory. Right?

Mar 30 2016, 11:14 AM

Mar 29 2016

nadav added a comment to D18537: Don't vectorize loops when everything will be scalarized.

I don't like the approach of passing in address-of-bool as parameter argument, especially since you did not document the parameter (is it IN, is it OUT, etc).

Mar 29 2016, 2:20 PM
nadav added a comment to D18537: Don't vectorize loops when everything will be scalarized.

Hal, I am not sure I understand the problem. Is the problem register pressure or the fact that store <8 x i32> is more expensive than 8 times store i32?

Mar 29 2016, 2:03 PM

Mar 2 2016

nadav added a comment to D17801: Fixed X86 Interrupt handler calling convention for MCU target.

LGTM.

Mar 2 2016, 9:18 AM

Feb 23 2016

nadav added a comment to D17542: Disallow generating vzeroupper before return instruction (iret) in interrupt handler function.

The patch LGTM.

Feb 23 2016, 7:07 AM

Feb 9 2016

nadav added a comment to D15646: [X86] Fix stack alignment for MCU target.

Sorry for the delay in review. This patch LGTM.

Feb 9 2016, 1:08 PM

Jan 28 2016

nadav added inline comments to D15690: Gather and Scatter intrinsics in the Loop Vectorizer.
Jan 28 2016, 9:11 AM

Jan 21 2016

nadav added a comment to D15815: [SLP] Truncate expressions to minimum required bit width.

Sounds good. Thanks Matthew.

Jan 21 2016, 10:08 AM
nadav added a comment to D15815: [SLP] Truncate expressions to minimum required bit width.

Did you see any performance improvements due to this commit? Did you measure compile times?

Jan 21 2016, 9:22 AM

Jan 12 2016

nadav added a comment to D14829: [SLP] Vectorize gather-like idioms ending at non-consecutive loads..

LGTM.

Jan 12 2016, 9:15 AM · Restricted Project

Dec 29 2015

nadav added a comment to D15536: [JumpThreading] Fix opcode bonus in getJumpThreadDuplicationCost().

LGTM.

Dec 29 2015, 11:39 AM

Dec 21 2015

nadav added a comment to D15604: Changes in conversion cost model for X86 target.

Elena, please fix the cost table and don't change anything else.

Dec 21 2015, 10:39 AM
nadav added a comment to D15604: Changes in conversion cost model for X86 target.

We don't let the instruction Sitofp <4 x i32 > %a to <4 x f64> go through the type legalizer.

Dec 21 2015, 9:00 AM

Dec 20 2015

nadav added a comment to D15604: Changes in conversion cost model for X86 target.

Elena, I don't understand your comment. getTypeLegalizationCost imitates the type legalizer by splitting and promoting. It actually uses the type legalizer. What do you mean it does not support zero-extend and sign-extend?

Dec 20 2015, 10:37 PM

Dec 18 2015

nadav added a comment to D15604: Changes in conversion cost model for X86 target.

Thanks for explaining this Elena. Have you considered handling all of the special cases by adding them to the 'TypeConversionCostTblEntry' table? Also, have you considered improving getTypeLegalizationCost?

Dec 18 2015, 9:05 AM

Dec 17 2015

nadav added inline comments to D15604: Changes in conversion cost model for X86 target.
Dec 17 2015, 4:22 PM