This is an archive of the discontinued LLVM Phabricator instance.

Implementation of expandload and compressstore intrinsics.
ClosedPublic

Authored by delena on Oct 30 2016, 5:59 AM.

Details

Reviewers
RKSimon
igorb
Summary

Includes syntax, DAG builder, operation lowering and tests.
Does not include:

  • handling of illegal data types
  • codegen prepare pass
  • cost model

Diff Detail

Repository
rL LLVM

Event Timeline

delena updated this revision to Diff 76335.Oct 30 2016, 5:59 AM
delena retitled this revision from to Implementation of expandload and compressstore intrinsics..
delena updated this object.
delena added reviewers: igorb, RKSimon.
delena set the repository for this revision to rL LLVM.
delena added a subscriber: llvm-commits.
ABataev added inline comments.
../lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
3698

sdl->Sdl

3859

sdl->Sdl

../lib/IR/Function.cpp
1084

auto *ReferenceType, and this line seems not formatted properly

1086

auto *ThisArgType

../test/CodeGen/X86/compress_expand.ll
5–8

Do you really need these lines?

delena marked 2 inline comments as done.Oct 31 2016, 5:30 PM
delena added inline comments.
../lib/IR/Function.cpp
1086

I'll align the code.

../test/CodeGen/X86/compress_expand.ll
5–8

Yes, on Windows %rdi will be replaced with %rcx, and some other patterns may fail on mac. We always define triple.

delena updated this revision to Diff 76511.Oct 31 2016, 5:47 PM

updated according to Alexey's comments

igorb accepted this revision.Nov 1 2016, 5:46 AM
igorb edited edge metadata.

Hello Elena,
Would you consider to merge visitMaskedLoad(I) / visitMaskedExpandLoad and visitMaskedStore(I) / visitMaskedCompressStore ?

LGTM.

This revision is now accepted and ready to land.Nov 1 2016, 5:46 AM
delena added a comment.Nov 1 2016, 5:53 AM

Hello Elena,
Would you consider to merge visitMaskedLoad(I) / visitMaskedExpandLoad and visitMaskedStore(I) / visitMaskedCompressStore ?

Maked load has one more argument - alignment. And it is positioned in the middle. I'll check..

delena updated this revision to Diff 76758.Nov 2 2016, 11:49 AM
delena edited edge metadata.

I included compressing-store visitor in the general masked-store, the same for expanding load as Igor suggested.
Igor, please look and the new code. Does it look better than the previous?

igorb added a comment.Nov 2 2016, 12:37 PM

I included compressing-store visitor in the general masked-store, the same for expanding load as Igor suggested.
Igor, please look and the new code. Does it look better than the previous?

Hi Elena , I believe so .
Thanks!

zvi added a subscriber: zvi.Nov 9 2016, 12:06 AM
RKSimon closed this revision.Feb 23 2017, 2:36 PM
RKSimon edited edge metadata.

Closed by rL285876