This is an archive of the discontinued LLVM Phabricator instance.

[mips] Avoid redudant store when generating code for ExtractElementF64 nodes
AbandonedPublic

Authored by vkalintiris on Oct 15 2014, 5:21 AM.

Details

Reviewers
dsanders
Summary

Depends on D5753

Diff Detail

Event Timeline

vkalintiris retitled this revision from to [mips] Avoid redudant store when generating code for ExtractElementF64 nodes.
vkalintiris updated this object.
vkalintiris edited the test plan for this revision. (Show Details)
vkalintiris added a reviewer: dsanders.
vkalintiris added a subscriber: Unknown Object (MLST).
dsanders requested changes to this revision.Nov 4 2014, 2:59 AM
dsanders edited edge metadata.

I'm afraid I don't think this patch on the right track. The problem isn't related to which element is extracted, it's that we don't optimize the code after expanding expandExtractElementF64() for both elements. With this patch it will be possible for pre-RA scheduling to cause invalid code by reordering the ExtractElementF64 nodes.

One fairly simple solution I can think of is using DAGCombine to merge both ExtractElementF64's into a single node, then expanding that node such that it only spills once.

This revision now requires changes to proceed.Nov 4 2014, 2:59 AM
vkalintiris abandoned this revision.Jun 5 2016, 10:37 AM