This is an archive of the discontinued LLVM Phabricator instance.

Improve CodeGenDAGPattern support with multiple explicit results in an instruction pattern
ClosedPublic

Authored by craig.topper on Mar 4 2015, 9:39 PM.

Details

Reviewers
hfinkel
Summary

This patch attempts to improve tablegen support for instruction patterns like this which have more than one explicit result.

[(set _.RC:$dst, _.KRCWM:$mask_wb,

(GatherNode  (_.VT _.RC:$src1), _.KRCWM:$mask,
       vectoraddr:$src2))]

Diff Detail

Event Timeline

craig.topper retitled this revision from to Improve CodeGenDAGPattern support with multiple explicit results in an instruction pattern.
craig.topper updated this object.
craig.topper edited the test plan for this revision. (Show Details)
craig.topper added a reviewer: hfinkel.
craig.topper added a subscriber: Unknown Object (MLST).Mar 4 2015, 9:45 PM
hfinkel accepted this revision.Mar 4 2015, 9:59 PM
hfinkel edited edge metadata.

LGTM, thanks!

utils/TableGen/CodeGenDAGPatterns.cpp
3058

Please improve the string in this assert to explain what is not handled.

This revision is now accepted and ready to land.Mar 4 2015, 9:59 PM

To be honest I don't know if I know the code well enough to know if that
can fail. Just seemed bad to blindly assume there was only one type there.
There are quite a few such "unhandled" asserts in this file so I just wrote
the same.

To be honest I don't know if I know the code well enough to know if that
can fail. Just seemed bad to blindly assume there was only one type there.
There are quite a few such "unhandled" asserts in this file so I just wrote
the same.

Okay, fair enough. You're right, the asserts on this condition are like this for some reason. Let's keep it this way in this patch, and we'll improve them all together later.

craig.topper closed this revision.Mar 4 2015, 11:15 PM

Committed in r231357