Conversation
Adds mangled types names to dxil ops with matrix overloads
2892846 to
92066f4
Compare
spall
left a comment
There was a problem hiding this comment.
Just realized there are no tests; should there be tests for this?
|
That is exactly the comment I was going to write. Maybe this change should be together with the first LinAlg Matrix op so it can be tested? |
Nothing actually uses or lowers to this yet so it's pretty hard to test. It does get tested once the feature is used a couple PRs from now. I can try to make a contrived example to test this code but I'm hoping folks will let me wait a couple PRs and use the practical testing I've already written |
Let me see if I can reorder the commits, but I'm trying to get all these changes in independently from the ops so that I can' upload all the ops as separate / indepentent PRs |
I think it's better to have the PR that has the first op to be a little bit bigger and include all the infra changes that cannot be tested without it. |
|
Sounds good. The commit move was easy enough |
This change updates the infrastructure to generate overload names for the LinAlgMatrix type
When lowering a function that takes a LinAlgMatrix a unique name must be injected into the type for each unique matrix type to differentiate it from other calls to the same function. Per the spec, for LinAlgMatrix the mapping should be
dx.types.LinAlgMatrix<mangling>->m<mangling>Ex:
dx.types.LinAlgMatrixC10M16N16U0S1->mC10M16N16U0S1