This is an archive of the discontinued LLVM Phabricator instance.

Type legalization for expload/compessstore DAG nodes
ClosedPublic

Authored by delena on Nov 21 2016, 5:39 AM.

Details

Reviewers
igorb
Summary

Type legalization - widening (v2f32) and splitting (v16f64).
On splitting, I use "popcnt" to calculate memory increment.
More type legalization work will come in the next patches.

Diff Detail

Repository
rL LLVM

Event Timeline

delena updated this revision to Diff 78709.Nov 21 2016, 5:39 AM
delena retitled this revision from to Type legalization for expload/compessstore DAG nodes.
delena updated this object.
delena added a reviewer: igorb.
delena set the repository for this revision to rL LLVM.
delena added a subscriber: llvm-commits.
zvi added a subscriber: zvi.Nov 21 2016, 11:34 AM

Would it make sense to break this patch into two patches?

  1. Type Legalization
  2. DAG Combiner
igorb edited edge metadata.Nov 23 2016, 12:16 AM

Hello Elena,
All changes are similar, would you consider to implement it as help function?
Otherwise, LGTM.

delena updated this revision to Diff 79055.Nov 23 2016, 4:57 AM
delena edited edge metadata.

I created a function IncrementMemoryAddress(), as Igor suggested and enclosed all logic there.

igorb accepted this revision.Nov 23 2016, 5:45 AM
igorb edited edge metadata.

LGTM

This revision is now accepted and ready to land.Nov 23 2016, 5:45 AM
delena updated this revision to Diff 79072.Nov 23 2016, 7:10 AM
delena edited edge metadata.

Added context to the diff.

delena updated this revision to Diff 79074.Nov 23 2016, 7:14 AM

the prev diff was a mistake.
The revision is committed. Closing it.

delena closed this revision.Nov 23 2016, 7:15 AM

Committed in rL287761