This is an archive of the discontinued LLVM Phabricator instance.

[SelectionDAG] Fix assertion failure with big shift amounts
ClosedPublic

Authored by LemonBoy on May 5 2020, 4:19 AM.

Details

Summary

Calling getShiftAmountTy with LegalTypes set may return a type that's too narrow to hold the shift amount for integer type it's applied to.

Fixes the regression introduced by D79096

Diff Detail

Event Timeline

LemonBoy created this revision.May 5 2020, 4:19 AM

Does the same issue exist in scalarizeVectorStore path?

Does the same issue exist in scalarizeVectorStore path?

No, that code path uses IntVT for the shift constant.

This revision is now accepted and ready to land.May 5 2020, 8:24 PM

LGTM

Since I have no commit access I'll have to disturb you once again to get this committed :)

This revision was automatically updated to reflect the committed changes.