Diff Detail
Event Timeline
LGTM with question
lib/CodeGen/GlobalISel/LegalizerHelper.cpp | ||
---|---|---|
2370 | Should we be asserting that the types are vectors for these? Or does it not matter? |
lib/CodeGen/GlobalISel/LegalizerHelper.cpp | ||
---|---|---|
2370 | These seem to allow any types. One thing I'm sort of thinking about for some vector legalizations is if this is OK or sufficient. |
lib/CodeGen/GlobalISel/LegalizerHelper.cpp | ||
---|---|---|
2370 | My current feeling is there is something wrong with the current set of legalization primitives for vectors, but I haven't tried to come up with a coherent description of what yet. The fact that the insert can clobber multiple vector elements seems difficult to deal with. I almost think we need a version of g_insert that handles complete vector elements, and then maybe some kind of elementwise version (where the bit offset is into each vector element) but I haven't fully thought this out yet. |
lib/CodeGen/GlobalISel/LegalizerHelper.cpp | ||
---|---|---|
2370 |
Oh, I meant that if we're calling moreElementsVectorSrc, we should probably assert that we're legalizing a vector source. That function seems to have the assumption that the type we're giving it a vector type.
I'll need to think about that a bit |
lib/CodeGen/GlobalISel/LegalizerHelper.cpp | ||
---|---|---|
2370 | The assert I added in r352636 should catch that, but I guess you could always call the LegalizerHelper directly |
Should we be asserting that the types are vectors for these? Or does it not matter?