This is an archive of the discontinued LLVM Phabricator instance.

[DAGCombine] Allow alias analysis with inline asm calls and GluedNodes.
AbandonedPublic

Authored by niravd on Jul 23 2018, 1:22 PM.

Details

Summary

Teach alias analysis to reason about inline assembly nodes and
associated glued CopyToReg/CopyFromReg nodes.

This fixes PR9517.

Diff Detail

Event Timeline

niravd created this revision.Jul 23 2018, 1:22 PM
niravd updated this revision to Diff 168845.Oct 9 2018, 11:48 AM

Rebase to tip.

hfinkel added a subscriber: hfinkel.Oct 9 2018, 1:17 PM
hfinkel added inline comments.
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
18803–18810

Please document here what each member of the pair represents.

niravd updated this revision to Diff 169013.Oct 10 2018, 7:44 AM

Add comments.

efriedma added inline comments.Nov 29 2018, 3:44 PM
llvm/test/CodeGen/X86/oddshuffles.ll
1670

Why is this changing? I don't see any inline asm...

niravd updated this revision to Diff 176025.Nov 29 2018, 6:49 PM

Rebase to tip.

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.

I'm not sure I like the algorithm here. It seems like it would be more straightforward to handle the INLINEASM and all the glued nodes together, in a separate inner loop.

llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
18886

Wrong indentation.

18891

Commented-out code?

18899

Incomplete comment?

18938–18939

I don't think there's an comment anywhere explaining why you're putting chain operands into the visited list? Thinking about it a bit, I guess you're trying to avoid computing "useless" aliases? Does that actually work reliably, given the visitation order of the operands of a TokenFactor is sort of arbitrary?

niravd updated this revision to Diff 186910.Feb 14 2019, 1:35 PM

Rebase, improve comments and minor name cleanup.

Herald added a project: Restricted Project. · View Herald TranscriptFeb 14 2019, 1:35 PM
niravd updated this revision to Diff 189549.Mar 6 2019, 12:11 PM
niravd marked 3 inline comments as done.

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

niravd updated this revision to Diff 189547.Mar 6 2019, 12:12 PM

patch on to p of refactoring.

niravd abandoned this revision.Mar 8 2019, 6:46 AM

Abandoning this in favor of D59039