Page MenuHomePhabricator

[MVT][SVE] Add EVT strings and Type mapping
Needs ReviewPublic

Authored by huntergr on Jun 5 2018, 5:15 AM.

Details

Summary

Adds mappings between scalable MVT types and IR Types,
along with string printing. Fixes an issue reported by Jeroen.

Depends on https://reviews.llvm.org/D32530

Part of the initial SVE codegen series, rfc will be posted soon.

Diff Detail

Event Timeline

huntergr created this revision.Jun 5 2018, 5:15 AM
This comment was removed by huntergr.
lib/CodeGen/ValueTypes.cpp
118

Won't you need to have printing support for the generic scalable vector ? That should come here.

huntergr updated this revision to Diff 150303.Jun 7 2018, 5:31 AM

Fixed string representation of scalable vectors which don't map to the existing defined set of MVTs.

huntergr marked an inline comment as done.Jun 7 2018, 5:31 AM
greened added inline comments.Mar 7 2019, 1:57 PM
lib/CodeGen/ValueTypes.cpp
193

I can't find where these are defined, but given that the IR type is <scalable v4f32> should these names reflect that? "nx" is nice and short but may be confusing in that the mapping from "scalable" to "nx" isn't necessarily obvious.

rkruppe added inline comments.Mar 7 2019, 2:05 PM
lib/CodeGen/ValueTypes.cpp
193

As MC layer support for SVE started landing quite a while ago, the backend types too landed back then with names matching the then-current proposal for the IR types (<n x 4 x ...>). I agree it would be nice to have the backend type names match, but that's a bunch of churn, so it shouldn't be coupled to this patch and should wait until the IR type system changes are committed in case their name changes again.

greened added inline comments.Mar 8 2019, 7:26 AM
lib/CodeGen/ValueTypes.cpp
193

Thanks, that makes sense to me.

simoll added a subscriber: simoll.Mar 8 2019, 9:00 AM
hsaito added a subscriber: hsaito.Mar 8 2019, 2:28 PM