This is an archive of the discontinued LLVM Phabricator instance.

GlobalISel: Fix inadequate verification of g_build_vector
ClosedPublic

Authored by arsenm on Feb 14 2019, 3:45 PM.

Details

Summary

Testing based on the total size of the elements failed to catch a few
invalid scenarios, so explicitly check the number of elements/operands
and types.

This failed to catch situations like
<4 x s16> = G_BUILD_VECTOR s32, s32 since the total size added
up. This also would fail to catch an implicit conversion between
pointers and scalars.

Diff Detail

Event Timeline

arsenm created this revision.Feb 14 2019, 3:45 PM
This revision is now accepted and ready to land.Feb 15 2019, 6:59 AM
arsenm closed this revision.Feb 15 2019, 7:37 AM

r354139