This is an archive of the discontinued LLVM Phabricator instance.

[X86] Fix crash on assert of non-simple type after type-legalization
ClosedPublic

Authored by aymanmus on Aug 31 2017, 4:58 AM.

Details

Summary

The function combineShuffleToVectorExtend in DAGCombine might generate an illegal typed node after "legalize types" phase, causing assertion on non-simple type to fail afterwards.

Adding a type check in case the combine is running after the type legalize pass.

Diff Detail

Repository
rL LLVM

Event Timeline

aymanmus created this revision.Aug 31 2017, 4:58 AM
aymanmus edited the summary of this revision. (Show Details)Aug 31 2017, 5:05 AM
zvi added inline comments.Aug 31 2017, 8:09 AM
test/CodeGen/X86/pr34397.ll
3 ↗(On Diff #113384)

Any chance bugpoint can reduce this test?

@zvi this test is already "bugpointed", the original test is much bigger.
I tried to manually reduce it further but seems like the bug happens in an extreme edge case.

zvi accepted this revision.Sep 2 2017, 11:39 PM

LGTM

This revision is now accepted and ready to land.Sep 2 2017, 11:39 PM
This revision was automatically updated to reflect the committed changes.