Page MenuHomePhabricator

niravd (Nirav Dave)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 23 2015, 1:58 PM (159 w, 6 d)

Recent Activity

Mon, Dec 10

niravd accepted D55511: [TargetLowering] Add UNDEF folding to SimplifyDemandedVectorElts.

LGTM. Removing the insert_subvector nesting transform is especially nice. I think it's fine to go in as is even before the zero forwarding, but I'll defer to others.

Mon, Dec 10, 9:55 AM

Tue, Dec 4

niravd committed rL348304: [AVR] Silence fallthrough warning. NFC..
[AVR] Silence fallthrough warning. NFC.
Tue, Dec 4, 1:44 PM
niravd committed rL348288: [SelectionDAG] Redefine isGAPlusOffset in terms of unwrapAddress. NFCI..
[SelectionDAG] Redefine isGAPlusOffset in terms of unwrapAddress. NFCI.
Tue, Dec 4, 10:02 AM

Thu, Nov 29

niravd added a comment to D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

oddshuffles.ll is definitely unrelated. It seems to have disappeared post rebase. Not sure how it appears as neither this patch or its predecessor patch touched it.

Thu, Nov 29, 6:54 PM
niravd updated the diff for D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

Rebase to tip.

Thu, Nov 29, 6:50 PM

Tue, Nov 27

niravd added a comment to D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

Ping.

Tue, Nov 27, 11:01 AM
niravd accepted D54847: [MachineScheduler] Add support for clustering mem ops with FI base operands.

LGTM modulo a small nit I missed on the last pass.

Tue, Nov 27, 11:00 AM
niravd added inline comments to D54847: [MachineScheduler] Add support for clustering mem ops with FI base operands.
Tue, Nov 27, 7:33 AM

Mon, Nov 26

niravd added inline comments to D54847: [MachineScheduler] Add support for clustering mem ops with FI base operands.
Mon, Nov 26, 8:53 AM
niravd added a comment to D54846: [CodeGen][NFC] Make `TII::getMemOpBaseImmOfs` return a base operand.

Minor nits.

Mon, Nov 26, 8:41 AM

Sat, Nov 24

niravd accepted D54818: [SelectionDAG] Teach BaseIndexOffset::match to unwrap the base after looking through an add/or.

LGTM.

Sat, Nov 24, 6:10 AM

Mon, Nov 19

niravd accepted D53478: [DAGCombine] SimplifyNodeWithTwoResults - ensure same legalization for LO/HI operands (PR21207).

LGTM.

Mon, Nov 19, 10:39 AM

Nov 15 2018

niravd resigned from D53289: [DAGCombiner] Limit the number of chains in findBetterChains()..

We've superceded this patch.

Nov 15 2018, 7:09 AM
niravd accepted D54570: [DAGCombine] Fix non-deterministic debug output .

LGTM.

Nov 15 2018, 6:54 AM

Nov 14 2018

niravd committed rL346894: Bias physical register immediate assignments.
Bias physical register immediate assignments
Nov 14 2018, 1:15 PM
niravd closed D54218: [MachineScheduler] Bias physical register immediate assignments.
Nov 14 2018, 1:14 PM
niravd added inline comments to D54218: [MachineScheduler] Bias physical register immediate assignments.
Nov 14 2018, 7:18 AM
niravd updated the diff for D54218: [MachineScheduler] Bias physical register immediate assignments.

Resolve Quentin's comments. Revert some tests which don't need changes after previous bugfix.

Nov 14 2018, 7:17 AM

Nov 12 2018

niravd committed rL346654: [DAGCombiner] Fix load-store forwarding of indexed loads..
[DAGCombiner] Fix load-store forwarding of indexed loads.
Nov 12 2018, 6:08 AM
niravd closed D54265: [DAGCombiner] Fix load-store forwarding of indexed loads..
Nov 12 2018, 6:08 AM

Nov 9 2018

niravd updated the diff for D54265: [DAGCombiner] Fix load-store forwarding of indexed loads..

Fold in Peter's comments.

Nov 9 2018, 12:44 PM
niravd updated the diff for D54218: [MachineScheduler] Bias physical register immediate assignments.

Modify move immediate check to check all register definitions are physical. Also fix typo (s/isReg/getReg) that caused all register immediate assignments to be reordered.
This appears to have resolved the isntance of PR26810 in CodeGen/X86/hoist-spill.ll, but otherwise doesn't seem to have an notable effect on code generation.

Nov 9 2018, 12:03 PM
niravd abandoned D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis.

This is no longer necessary now that r346432 has landed.

Nov 9 2018, 8:20 AM
niravd added inline comments to D53889: [CodeGen] Prefer static frame index for STATEPOINT liveness args.
Nov 9 2018, 8:19 AM

Nov 8 2018

niravd committed rL346432: [DAGCombine] Improve alias analysis for chain of independent stores..
[DAGCombine] Improve alias analysis for chain of independent stores.
Nov 8 2018, 11:17 AM
niravd closed D53552: [DAGCombine] Improve alias analysis for chain of independent stores..
Nov 8 2018, 11:16 AM
niravd created D54265: [DAGCombiner] Fix load-store forwarding of indexed loads..
Nov 8 2018, 8:41 AM

Nov 7 2018

niravd updated the diff for D53552: [DAGCombine] Improve alias analysis for chain of independent stores..

Address comments (typos and comment fixes) and rebase.

Nov 7 2018, 12:28 PM
niravd created D54218: [MachineScheduler] Bias physical register immediate assignments.
Nov 7 2018, 11:55 AM

Oct 30 2018

niravd added a comment to D53106: [SelectionDAG] Fix behavior topological ordering with regards to glued nodes..

Ping.

Oct 30 2018, 1:13 PM
niravd accepted D53776: [DAGCombiner] Fix for big endian in ForwardStoreValueToDirectLoad.

Modulo removing the unnecessary condition you commented on, this looks good to me. Thanks.

Oct 30 2018, 12:19 PM
niravd committed rL345623: [DAG] Add const variants for BaseIndexOffset functions..
[DAG] Add const variants for BaseIndexOffset functions.
Oct 30 2018, 11:29 AM
niravd updated the diff for D53552: [DAGCombine] Improve alias analysis for chain of independent stores..

Simplify. Update chain after both parallelizing chain and individual chain improvements. Also use IntervalMap.

Oct 30 2018, 11:20 AM

Oct 25 2018

niravd added a comment to D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

Ping.

Oct 25 2018, 7:45 AM

Oct 24 2018

niravd accepted D53658: [DAG] Inspect more store operands for cycle before merging..

LGTM.

Oct 24 2018, 10:21 AM

Oct 23 2018

niravd added a comment to D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis.

It's certainly less likely than before, but it does happen in the wild, but D53552 should always parallelize these store chains, so this this should be droppable.

Oct 23 2018, 9:15 AM
niravd added a comment to D53552: [DAGCombine] Improve alias analysis for chain of independent stores..

courbet@, I think this should produce at least as good compile time as D53289. Can you verify on your testcase? If so, I move we drop D53289 (and D31068) in favor of this.

Oct 23 2018, 9:10 AM

Oct 22 2018

niravd created D53552: [DAGCombine] Improve alias analysis for chain of independent stores..
Oct 22 2018, 8:32 PM
niravd added a comment to D53478: [DAGCombine] SimplifyNodeWithTwoResults - ensure same legalization for LO/HI operands (PR21207).

which supports my supposition, but "hasOperation" seems to match your interpretation (maybe that's the right check here).

Oct 22 2018, 10:12 AM
niravd added a comment to D53478: [DAGCombine] SimplifyNodeWithTwoResults - ensure same legalization for LO/HI operands (PR21207).

I don't think that need to avoid custom operations post-legalization. The documentation doesn't seem to address this, but as I understand it, Custom is Legal but with non-standard lowering and we just happen to lower custom node in legalize as an easy way to sure we've legalized the DAG.

Oct 22 2018, 8:01 AM
niravd accepted D52816: [AArch64] Create proper memoperand for multi-vector stores.

LGTM modulo minor typo .

Oct 22 2018, 7:21 AM

Oct 17 2018

niravd updated the diff for D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis.

Rebase to head. Some changes to alias make this require a much longer chain of stores. The need is clearly less than when I wrote this patch a year ago, but still has a minor positive effect.

Oct 17 2018, 1:01 PM

Oct 16 2018

niravd updated the summary of D53106: [SelectionDAG] Fix behavior topological ordering with regards to glued nodes..
Oct 16 2018, 11:48 AM
niravd updated the summary of D53106: [SelectionDAG] Fix behavior topological ordering with regards to glued nodes..
Oct 16 2018, 11:47 AM
niravd updated the diff for D53106: [SelectionDAG] Fix behavior topological ordering with regards to glued nodes..

Fix topological ordering construction to prevent premature pruning.

Oct 16 2018, 11:47 AM

Oct 15 2018

niravd added a comment to D53289: [DAGCombiner] Limit the number of chains in findBetterChains()..
Oct 15 2018, 9:16 AM
niravd added a comment to D53289: [DAGCombiner] Limit the number of chains in findBetterChains()..

Oh good catch. This is O(N^3) for long chains because we try every prefix of the chain, and because the chain is so long our chain improvements gives up and noops, so we just redo the same computation over and over. Cutting the length to any reasonable size makes it O(N^2). I suspect your observed merge size requirement is to deal with our incomplete handling of chain SubDAG in store merge (just a children of a single TF potentially skipping some loads), because it shouldn't matter otherwise (See (1)).

Oct 15 2018, 9:16 AM
niravd removed a parent revision for D53289: [DAGCombiner] Limit the number of chains in findBetterChains().: D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis.
Oct 15 2018, 9:06 AM
niravd removed a child revision for D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis: D53289: [DAGCombiner] Limit the number of chains in findBetterChains()..
Oct 15 2018, 9:06 AM
niravd added a parent revision for D53289: [DAGCombiner] Limit the number of chains in findBetterChains().: D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis.
Oct 15 2018, 8:49 AM
niravd added a child revision for D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis: D53289: [DAGCombiner] Limit the number of chains in findBetterChains()..
Oct 15 2018, 8:49 AM
niravd added a reviewer for D31068: [SDAG] Expand MergedConsecutiveStores to better handle Giving up in Chain Analysis: courbet.
Oct 15 2018, 8:32 AM

Oct 11 2018

niravd committed rL344272: [DAG] Fix Big Endian in Load-Store forwarding.
[DAG] Fix Big Endian in Load-Store forwarding
Oct 11 2018, 11:31 AM
niravd closed D53147: [DAG] Fix Big Endian in Load-Store forwarding.
Oct 11 2018, 11:30 AM
niravd added a comment to D53106: [SelectionDAG] Fix behavior topological ordering with regards to glued nodes..

Good point. Scenario 1 may happen if we have nodes A, B, C, GlueOp, and GlueUser such that there's uses (A-> GlueUse, GlueOp->GlueUser, GlueOp->B, B-> C) and the node id ordering is GOp < B < A < GU < C then checking if A is a predecessor to C would stop searching at B and fail to see the remaining. I am unsure if this is possible currently given our id scheme, but I'll take a look. I believe it will always bias towards selecting A before B.

Oct 11 2018, 10:44 AM
niravd created D53147: [DAG] Fix Big Endian in Load-Store forwarding.
Oct 11 2018, 10:22 AM
niravd added a comment to D46423: [RISCV] Support .option relax and .option norelax.
In D46423#1261724, @asb wrote:

Shiva and Kito didn't seem to have any concerns so I was just re-checking prior to committing. I had a closer look at getAssemblerPtr and see this method was introduced by @niravd in rL331218. Nirav - are you happy for this patch to change getAssemblerPtr so it doesn't just return nullptr in MCStreamer.h? I don't think gating on UseAssemblerInfoForParsing makes sense in our case.

Oct 11 2018, 7:49 AM

Oct 10 2018

niravd created D53106: [SelectionDAG] Fix behavior topological ordering with regards to glued nodes..
Oct 10 2018, 1:21 PM
niravd updated the diff for D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

Add comments.

Oct 10 2018, 7:44 AM
niravd committed rL344142: [DAGCombine] Improve Load-Store Forwarding.
[DAGCombine] Improve Load-Store Forwarding
Oct 10 2018, 7:18 AM
niravd closed D49200: [DAGCombine] Improve Load-Store Forwarding.
Oct 10 2018, 7:17 AM

Oct 9 2018

niravd updated the diff for D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

Rebase to tip.

Oct 9 2018, 11:49 AM
niravd updated the diff for D49200: [DAGCombine] Improve Load-Store Forwarding.

Rebase to tip and address rksimon's renaming suggestion.

Oct 9 2018, 11:32 AM
niravd accepted D53026: [TargetLowering] Add root node back to work list after successful SimplifyDemandedBits/SimplifyDemandedVectorElts.

LGTM.

Oct 9 2018, 10:17 AM
niravd added a comment to D49200: [DAGCombine] Improve Load-Store Forwarding.

Ping again.

Oct 9 2018, 8:21 AM

Oct 3 2018

niravd committed rL343689: [X86] Correctly use SSE registers if no-x87 is selected..
[X86] Correctly use SSE registers if no-x87 is selected.
Oct 3 2018, 7:15 AM
niravd closed D52555: [X86] Fix use SSE registers if no-x87 is selected..
Oct 3 2018, 7:15 AM

Oct 2 2018

niravd updated the diff for D52555: [X86] Fix use SSE registers if no-x87 is selected..

Simplify tests. Add comment.

Oct 2 2018, 1:41 PM
niravd added inline comments to D52555: [X86] Fix use SSE registers if no-x87 is selected..
Oct 2 2018, 9:34 AM
niravd updated the diff for D52555: [X86] Fix use SSE registers if no-x87 is selected..

Address comments.

Oct 2 2018, 9:30 AM

Oct 1 2018

niravd added inline comments to D52555: [X86] Fix use SSE registers if no-x87 is selected..
Oct 1 2018, 1:22 PM
niravd added a comment to D52555: [X86] Fix use SSE registers if no-x87 is selected..
Oct 1 2018, 1:22 PM
niravd updated the diff for D52555: [X86] Fix use SSE registers if no-x87 is selected..

Fix typo.

Oct 1 2018, 1:10 PM
niravd added a comment to D49200: [DAGCombine] Improve Load-Store Forwarding.

Ping.

Oct 1 2018, 8:49 AM
niravd accepted D52681: DAGCombiner: StoreMerging: Fix bad index calculating when adjusting mismatching vector types.

LGTM.

Oct 1 2018, 7:23 AM

Sep 28 2018

niravd updated the diff for D52555: [X86] Fix use SSE registers if no-x87 is selected..

Update to better match GCC's behavior. Not as aggressive as we can be.

Sep 28 2018, 10:22 AM

Sep 26 2018

niravd updated the diff for D52555: [X86] Fix use SSE registers if no-x87 is selected..

Update tests

Sep 26 2018, 12:57 PM
niravd created D52555: [X86] Fix use SSE registers if no-x87 is selected..
Sep 26 2018, 8:04 AM

Sep 25 2018

niravd accepted D52515: [MCAsmParser] Move AltMacroMode tracking out of MCAsmLexer.

LGTM.

Sep 25 2018, 1:19 PM
niravd committed rL342987: [ARM] Share predecessor bookkeeping in CombineBaseUpdate. NFCI..
[ARM] Share predecessor bookkeeping in CombineBaseUpdate. NFCI.
Sep 25 2018, 8:33 AM
niravd committed rL342986: [AArch64] Share search bookkeeping in combines. NFCI..
[AArch64] Share search bookkeeping in combines. NFCI.
Sep 25 2018, 8:33 AM
niravd committed rL342985: [LegalizeDAG] Prune Predecessor check in ExpandExtractFromVectorThroughStack..
[LegalizeDAG] Prune Predecessor check in ExpandExtractFromVectorThroughStack.
Sep 25 2018, 8:33 AM
niravd committed rL342984: [DAGCombine] Improve Predecessor check in SimplifySelectOps. NFCI..
[DAGCombine] Improve Predecessor check in SimplifySelectOps. NFCI.
Sep 25 2018, 8:33 AM
niravd committed rL342983: [DAGCombine] Share predecessor bookkeeping in CombineToPostIndexedLoadStore..
[DAGCombine] Share predecessor bookkeeping in CombineToPostIndexedLoadStore.
Sep 25 2018, 8:33 AM
niravd committed rL342980: [DAGCombine] Don't fold dependent loads across SELECT_CC..
[DAGCombine] Don't fold dependent loads across SELECT_CC.
Sep 25 2018, 7:44 AM

Sep 24 2018

niravd added a comment to D52306: [DAGCombine] Don't fold dependent loads across SELECT_CC..

It looks like you may not have commit access. Would you like me to commit this for you?

Sep 24 2018, 10:56 AM
niravd added a comment to D49200: [DAGCombine] Improve Load-Store Forwarding.

Ping.

Sep 24 2018, 9:04 AM

Sep 20 2018

niravd accepted D52277: [RegAllocGreedy] Fix crash in tryLocalSplit.

LGTM

Sep 20 2018, 12:50 PM
niravd accepted D52306: [DAGCombine] Don't fold dependent loads across SELECT_CC..

Sadly, no clever ideas on my part. If it's not repeatable on any of the in-tree backend let's just commit this now; it's a fixes a clear oversight.

Sep 20 2018, 11:07 AM
niravd added a comment to D52306: [DAGCombine] Don't fold dependent loads across SELECT_CC..

Do you have a test case?

Sep 20 2018, 8:19 AM

Sep 19 2018

niravd updated subscribers of D52277: [RegAllocGreedy] Fix crash in tryLocalSplit.
Sep 19 2018, 12:34 PM
niravd created D52277: [RegAllocGreedy] Fix crash in tryLocalSplit.
Sep 19 2018, 12:34 PM
niravd accepted D52140: [X86] Add initial SimplifyDemandedVectorEltsForTargetNode support.

LGTM.

Sep 19 2018, 9:18 AM
niravd added a comment to D38128: Handle COPYs of physregs better (regalloc hints).

I've gone through and marked all the places.

Sep 19 2018, 8:30 AM

Sep 18 2018

niravd added a comment to D38128: Handle COPYs of physregs better (regalloc hints).

The codesize issues are minor and shouldn't hold this patch up. The only blocker I see is the unnecessary data shuffling for SSE41 codegen which someone else should decide on.

Sep 18 2018, 1:46 PM
niravd added a comment to D52140: [X86] Add initial SimplifyDemandedVectorEltsForTargetNode support.

Looks google fine modulo the noted issues with load.

Sep 18 2018, 10:28 AM

Sep 17 2018

niravd committed rL342412: [MC] Avoid inlining constant symbols with variants..
[MC] Avoid inlining constant symbols with variants.
Sep 17 2018, 1:35 PM
niravd closed D52188: [MC] Avoid inlining constant symbols with variants..
Sep 17 2018, 1:35 PM
niravd updated subscribers of D51502: [X86] Fix register resizings for inline assembly register operands..

Yes, this is a fix to match GCC's register assignment for a 64-bit in
32-bit mode to pairs of registers.

Sep 17 2018, 1:27 PM
niravd created D52188: [MC] Avoid inlining constant symbols with variants..
Sep 17 2018, 1:07 PM