Page MenuHomePhabricator
Feed Advanced Search

Thu, May 9

niravd accepted D61511: [DAGCombiner] Limit number of nodes explored as store candidates..

LGTM.

Thu, May 9, 8:59 AM · Restricted Project

Tue, May 7

niravd accepted D61397: [DAGCombiner] Avoid creating large tokenfactors in visitTokenFactor.

LGTM.

Tue, May 7, 7:12 AM · Restricted Project

Mon, May 6

niravd added a comment to D60133: [DAGCombiner] Improve detection of unmergable stores, based on type size (WIP).

The current interfaces definitely do not provide anything like that. As I recall, most of the use cases requiring canMergeStoresTo involve ad hoc ways to locally declare a type/operation invalid localized to the specific target, so I suggest the just marginally expanding hte interface to capture the one issue we've seen so far (no-implict-float) and defer any deeper analysis for when we run into it.

Mon, May 6, 7:31 AM · Restricted Project

Sun, May 5

niravd added a comment to D61511: [DAGCombiner] Limit number of nodes explored as store candidates..

This is okay modulo nits, but let's land the TokenFactor operand size limiting first as it also implicitly bounds things.

Sun, May 5, 1:38 PM · Restricted Project

Thu, May 2

niravd added a comment to D61397: [DAGCombiner] Avoid creating large tokenfactors in visitTokenFactor.

Notes inline, but I think the majority of the compile time improvements come from keepign TokenFactor operand counts bounded. This should be changed to do reflect that.

Thu, May 2, 8:20 AM · Restricted Project

Tue, Apr 30

niravd accepted D61164: [X86] If PreprocessISelDAG reorders a load before a call, make sure we remove dead nodes from the graph.

LGTM.

Tue, Apr 30, 7:16 AM · Restricted Project

Fri, Apr 26

niravd added a comment to D61164: [X86] If PreprocessISelDAG reorders a load before a call, make sure we remove dead nodes from the graph.

I think, make it unconditional.

Fri, Apr 26, 12:41 PM · Restricted Project
niravd added a comment to D61164: [X86] If PreprocessISelDAG reorders a load before a call, make sure we remove dead nodes from the graph.

I was thinking things pending from the folding optimization in getNode, but I missed that it was the target specific one so it should be fine. That said, I still think it's better to do it unconditionally so it'll be pruned by default with the future additio of Listener-based pruning if that proves too expensive.

Fri, Apr 26, 11:43 AM · Restricted Project
niravd added a comment to D61164: [X86] If PreprocessISelDAG reorders a load before a call, make sure we remove dead nodes from the graph.

I worry this is just fix just the dangling nodes as we see them. A brief glance at the AND construction gives us space for this to happen again. I'd much rather we do the removal check unconditionally or leverage something like
DAGUpdateListener to get a more fundamental measure of what nodes may be prunable.

Fri, Apr 26, 5:50 AM · Restricted Project

Wed, Apr 24

niravd accepted D61048: [X86] Remove dead nodes left after ReplaceAllUsesWith calls during address matching.

DAGCombiner now has infrastructure to strip away nodes that were created but unused in during a visit. It probably makes sense to do something similar in ISel

Wed, Apr 24, 8:56 AM · Restricted Project

Apr 18 2019

niravd accepted D60843: [X86] Make sure we copy the HandleSDNode back to N before executing the default code after the switch in matchAddressRecursively.

LGTM.

Apr 18 2019, 6:50 AM · Restricted Project

Apr 2 2019

niravd added a comment to D60133: [DAGCombiner] Improve detection of unmergable stores, based on type size (WIP).

It's not sufficient to check if you can merge two stores into a valid node; there are backends where you need 4 or more to get a legal merged store.

Apr 2 2019, 6:03 PM · Restricted Project

Mar 29 2019

niravd committed rG54f7118de5b9: [DAGCombiner] Rewrite ImproveLifetimeNodeChain to avoid DAG loop. (authored by niravd).
[DAGCombiner] Rewrite ImproveLifetimeNodeChain to avoid DAG loop.
Mar 29 2019, 1:26 PM
niravd committed rL357309: [DAGCombiner] Rewrite ImproveLifetimeNodeChain to avoid DAG loop..
[DAGCombiner] Rewrite ImproveLifetimeNodeChain to avoid DAG loop.
Mar 29 2019, 1:26 PM
niravd abandoned D36643: [DAGCombine] Make CombineTo prune nodes more aggressively..

rL357283 supersedes this.

Mar 29 2019, 12:08 PM
niravd committed rG7e84cacdbd59: [DAG] Avoid redundancy in StoreMerge TokenFactor generation. (authored by niravd).
[DAG] Avoid redundancy in StoreMerge TokenFactor generation.
Mar 29 2019, 11:49 AM
niravd committed rL357299: [DAG] Avoid redundancy in StoreMerge TokenFactor generation..
[DAG] Avoid redundancy in StoreMerge TokenFactor generation.
Mar 29 2019, 11:49 AM
niravd committed rGfe59e14031a9: [DAGCombine] Prune unnused nodes. (authored by niravd).
[DAGCombine] Prune unnused nodes.
Mar 29 2019, 10:36 AM
niravd committed rL357283: [DAGCombine] Prune unnused nodes..
[DAGCombine] Prune unnused nodes.
Mar 29 2019, 10:35 AM
niravd closed D58070: [DAGCombine] Prune unnused nodes..
Mar 29 2019, 10:34 AM · Restricted Project
niravd committed rG610036c50621: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes (authored by niravd).
[DAG] Set up infrastructure to avoid smart constructor-based dangling nodes
Mar 29 2019, 10:27 AM
niravd committed rL357279: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.
[DAG] Set up infrastructure to avoid smart constructor-based dangling nodes
Mar 29 2019, 10:26 AM
niravd closed D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.
Mar 29 2019, 10:26 AM · Restricted Project
niravd committed rG9259de217e60: [DAGCombine] Improve Lifetime node chains. (authored by niravd).
[DAGCombine] Improve Lifetime node chains.
Mar 29 2019, 7:10 AM
niravd committed rL357256: [DAGCombine] Improve Lifetime node chains..
[DAGCombine] Improve Lifetime node chains.
Mar 29 2019, 7:10 AM
niravd closed D59795: [DAGCombine] Improve Lifetime node chains..
Mar 29 2019, 7:09 AM · Restricted Project

Mar 28 2019

niravd updated the diff for D58070: [DAGCombine] Prune unnused nodes..

Consider inserted nodes for pruning.

Mar 28 2019, 8:21 PM · Restricted Project
niravd updated the diff for D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Defer Worklist modification in NodeInserter to follow up patch (D58070).

Mar 28 2019, 8:18 PM · Restricted Project
niravd updated the diff for D59795: [DAGCombine] Improve Lifetime node chains..

Now that lifetime node hashing and TokenFactor cleanup has happened, factor out Dead Store improvements as they are no longer needed to prevent regressions.

Mar 28 2019, 10:55 AM · Restricted Project
niravd committed rG8b9c9822a140: [DAG] Fix Lifetime Node ID hashing. (authored by niravd).
[DAG] Fix Lifetime Node ID hashing.
Mar 28 2019, 8:53 AM
niravd committed rL357179: [DAG] Fix Lifetime Node ID hashing..
[DAG] Fix Lifetime Node ID hashing.
Mar 28 2019, 8:51 AM

Mar 27 2019

niravd committed rG6b741a803867: [DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes (authored by niravd).
[DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes
Mar 27 2019, 1:37 PM
niravd committed rL357121: [DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes.
[DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes
Mar 27 2019, 1:36 PM
niravd closed D59897: [DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes.
Mar 27 2019, 1:36 PM · Restricted Project
niravd updated subscribers of D59897: [DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes.
Mar 27 2019, 1:30 PM · Restricted Project
niravd updated the diff for D59897: [DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes.

Debug test also changes. h

Mar 27 2019, 1:26 PM · Restricted Project
niravd created D59897: [DAGCombiner] Teach TokenFactor pruning to peek through lifetime nodes.
Mar 27 2019, 1:10 PM · Restricted Project
niravd committed rGc6dfaa0e836c: Revert r356996 "[DAG] Avoid smart constructor-based dangling nodes." (authored by niravd).
Revert r356996 "[DAG] Avoid smart constructor-based dangling nodes."
Mar 27 2019, 12:54 PM
niravd reopened D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Initial commit reverted due to Halide compile time explosion.

Mar 27 2019, 12:54 PM · Restricted Project
niravd committed rL357116: Revert r356996 "[DAG] Avoid smart constructor-based dangling nodes.".
Revert r356996 "[DAG] Avoid smart constructor-based dangling nodes."
Mar 27 2019, 12:54 PM
niravd updated the diff for D58070: [DAGCombine] Prune unnused nodes..

Address lingering test comments.

Mar 27 2019, 9:17 AM · Restricted Project
niravd committed rGb5630a2ab106: [DAGCombiner] Unify Lifetime and memory Op aliasing. (authored by niravd).
[DAGCombiner] Unify Lifetime and memory Op aliasing.
Mar 27 2019, 7:15 AM
niravd committed rG96a264e053a2: [DAGCombine] Refactor GatherAllAliases. NFCI. (authored by niravd).
[DAGCombine] Refactor GatherAllAliases. NFCI.
Mar 27 2019, 7:15 AM
niravd committed rL357070: [DAGCombiner] Unify Lifetime and memory Op aliasing..
[DAGCombiner] Unify Lifetime and memory Op aliasing.
Mar 27 2019, 7:14 AM
niravd closed D59794: [DAGCombiner] Unify Lifetime and memory Op aliasing..
Mar 27 2019, 7:14 AM · Restricted Project
niravd committed rL357069: [DAGCombine] Refactor GatherAllAliases. NFCI..
[DAGCombine] Refactor GatherAllAliases. NFCI.
Mar 27 2019, 7:14 AM

Mar 26 2019

niravd added inline comments to D59795: [DAGCombine] Improve Lifetime node chains..
Mar 26 2019, 7:13 PM · Restricted Project
niravd closed D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Landed in rL356996

Mar 26 2019, 6:11 PM · Restricted Project
niravd updated the diff for D59795: [DAGCombine] Improve Lifetime node chains..

Extract copied code into helper and format

Mar 26 2019, 1:37 PM · Restricted Project
niravd added inline comments to D59794: [DAGCombiner] Unify Lifetime and memory Op aliasing..
Mar 26 2019, 1:29 PM · Restricted Project
niravd updated the diff for D59794: [DAGCombiner] Unify Lifetime and memory Op aliasing..

Address comments.

Mar 26 2019, 1:27 PM · Restricted Project
niravd added inline comments to D59794: [DAGCombiner] Unify Lifetime and memory Op aliasing..
Mar 26 2019, 1:27 PM · Restricted Project
niravd updated the diff for D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..

Revert mips test changes

Mar 26 2019, 8:43 AM · Restricted Project
niravd abandoned D57534: [DAG][ARM] Define upwrapAddress for ARM backend..

This seems like it a natural thing to do as with the X86 backend, but since it doesn't make any test change differences, perhap it is unecessary.

Mar 26 2019, 8:26 AM · Restricted Project
niravd abandoned D53106: [SelectionDAG] Fix behavior topological ordering with regards to glued nodes..

Summarizing offline discussion with jyknight for future reference:

Mar 26 2019, 8:21 AM · Restricted Project
niravd committed rGa28c514581a3: [DAG] Avoid smart constructor-based dangling nodes. (authored by niravd).
[DAG] Avoid smart constructor-based dangling nodes.
Mar 26 2019, 8:09 AM
niravd committed rL356996: [DAG] Avoid smart constructor-based dangling nodes..
[DAG] Avoid smart constructor-based dangling nodes.
Mar 26 2019, 8:07 AM
niravd updated the diff for D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Rebase to tip before landing.

Mar 26 2019, 7:53 AM · Restricted Project
niravd abandoned D46534: [MC] Update Rootfile in AsmStreamer.

Obsolete.

Mar 26 2019, 7:34 AM · Restricted Project

Mar 25 2019

niravd created D59795: [DAGCombine] Improve Lifetime node chains..
Mar 25 2019, 12:31 PM · Restricted Project
niravd created D59794: [DAGCombiner] Unify Lifetime and memory Op aliasing..
Mar 25 2019, 12:30 PM · Restricted Project
niravd updated the diff for D58070: [DAGCombine] Prune unnused nodes..

Address James' Comments.

Mar 25 2019, 12:09 PM · Restricted Project
niravd updated the diff for D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..

Check HasSideEffects in analysis for inlineasm.

Mar 25 2019, 12:00 PM · Restricted Project
niravd added inline comments to D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..
Mar 25 2019, 12:00 PM · Restricted Project
niravd added inline comments to D58070: [DAGCombine] Prune unnused nodes..
Mar 25 2019, 10:51 AM · Restricted Project
niravd added a comment to D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Ping.

Mar 25 2019, 8:29 AM · Restricted Project
niravd added a comment to D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Ping/

Mar 25 2019, 8:29 AM · Restricted Project
niravd accepted D59338: MISched: Don't schedule regions with 0 instructions.

LGTM.

Mar 25 2019, 6:38 AM

Mar 18 2019

niravd updated the diff for D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Address James' comments.

Mar 18 2019, 1:29 PM · Restricted Project
niravd committed rG55c921f4bf34: [DAG] Cleanup unused node in SimplifySelectCC. (authored by niravd).
[DAG] Cleanup unused node in SimplifySelectCC.
Mar 18 2019, 10:02 AM
niravd committed rL356382: [DAG] Cleanup unused node in SimplifySelectCC..
[DAG] Cleanup unused node in SimplifySelectCC.
Mar 18 2019, 10:01 AM
niravd closed D57921: [DAG] Cleanup unused node in SimplifySelectCC..
Mar 18 2019, 10:01 AM · Restricted Project
niravd added a comment to D57921: [DAG] Cleanup unused node in SimplifySelectCC..

It fell off the end of my work queue, but yes.

Mar 18 2019, 9:18 AM · Restricted Project
niravd updated the diff for D57921: [DAG] Cleanup unused node in SimplifySelectCC..

Copy over Simon's suggestion.

Mar 18 2019, 9:18 AM · Restricted Project

Mar 15 2019

niravd updated the diff for D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..

Realized explanatory comment and associate fixup had been lost in patch stack. Folding it back in.

Mar 15 2019, 11:40 AM · Restricted Project

Mar 13 2019

niravd committed rGee5183c7961c: [DAGCombiner] Fix Comment. NFC. (authored by niravd).
[DAGCombiner] Fix Comment. NFC.
Mar 13 2019, 10:44 AM
niravd committed rL356069: [DAGCombiner] Fix Comment. NFC..
[DAGCombiner] Fix Comment. NFC.
Mar 13 2019, 10:43 AM
niravd committed rGd6351340bb9b: [DAGCombiner] If a TokenFactor would be merged into its user, consider the user… (authored by niravd).
[DAGCombiner] If a TokenFactor would be merged into its user, consider the user…
Mar 13 2019, 10:09 AM
niravd committed rL356068: [DAGCombiner] If a TokenFactor would be merged into its user, consider the user….
[DAGCombiner] If a TokenFactor would be merged into its user, consider the user…
Mar 13 2019, 10:08 AM
niravd closed D59260: [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later..
Mar 13 2019, 10:08 AM · Restricted Project
niravd added a reviewer for D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes.: courbet.
Mar 13 2019, 9:02 AM · Restricted Project
niravd added a comment to D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..

Ping.

Mar 13 2019, 7:29 AM · Restricted Project

Mar 12 2019

niravd added a reviewer for D59260: [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later.: courbet.
Mar 12 2019, 12:35 PM · Restricted Project
niravd created D59260: [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later..
Mar 12 2019, 8:55 AM · Restricted Project

Mar 8 2019

niravd abandoned D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

Abandoning this in favor of D59039

Mar 8 2019, 6:48 AM · Restricted Project

Mar 6 2019

niravd added a comment to D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..

This is a refactored and rebased version of D49691 so that it looks reasonable on Phabricator. I've factored out a initial NFC patch (the first snapshot in history) to highlight the actual functional change.

Mar 6 2019, 12:25 PM · Restricted Project
niravd added reviewers for D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes.: efriedma, echristo, javed.absar, hfinkel.
Mar 6 2019, 12:23 PM · Restricted Project
niravd retitled D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes. from [DAGCombine] Refactor GatherAllAliases. NFCI. to [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..
Mar 6 2019, 12:19 PM · Restricted Project
niravd updated the diff for D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..

Actual Patch.

Mar 6 2019, 12:17 PM · Restricted Project
niravd created D59039: [DAGCombine] Allow GatherAllAliases to pass through inline asm calls and glued nodes..
Mar 6 2019, 12:17 PM · Restricted Project
niravd updated the diff for D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

patch on to p of refactoring.

Mar 6 2019, 12:13 PM · Restricted Project
niravd updated the diff for D49691: [DAGCombine] Allow alias analysis with inline asm calls and GluedNodes..

NFC Refactoring of GatherAllAliases on top of which the patch will occur.

Mar 6 2019, 12:12 PM · Restricted Project
niravd added a child revision for D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes: D58070: [DAGCombine] Prune unnused nodes..
Mar 6 2019, 11:12 AM · Restricted Project
niravd added a parent revision for D58070: [DAGCombine] Prune unnused nodes.: D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.
Mar 6 2019, 11:12 AM · Restricted Project
niravd added a comment to D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Ping.

Mar 6 2019, 11:12 AM · Restricted Project

Mar 4 2019

niravd committed rG05e233507697: [MC] Teach ELFObjectWriter that parse-time variables do not appear in symbol… (authored by niravd).
[MC] Teach ELFObjectWriter that parse-time variables do not appear in symbol…
Mar 4 2019, 11:13 AM
niravd committed rL355325: [MC] Teach ELFObjectWriter that parse-time variables do not appear in.
[MC] Teach ELFObjectWriter that parse-time variables do not appear in
Mar 4 2019, 11:12 AM

Feb 28 2019

niravd added inline comments to D58070: [DAGCombine] Prune unnused nodes..
Feb 28 2019, 8:38 AM · Restricted Project

Feb 27 2019

niravd updated the diff for D58070: [DAGCombine] Prune unnused nodes..

Rebase to tip and add FIXME for regression.

Feb 27 2019, 1:28 PM · Restricted Project
niravd updated the diff for D58068: [DAG] Set up infrastructure to avoid smart constructor-based dangling nodes.

Rebase after some cleanups. Add comments on regressions test cases. Most of these are exposing PR40881. '
The remain case (vsel-cmp-load.ll) appears to be a missing revisitation some nodes

Feb 27 2019, 1:20 PM · Restricted Project