This is an archive of the discontinued LLVM Phabricator instance.

[X86] Limit X86InterleavedAccessGroup to handle the same type case only
ClosedPublic

Authored by pengfei on May 19 2021, 1:47 AM.

Details

Summary

The current implementation assumes the destination type of shuffle is the same as the decomposed ones. Add the check to avoid crush when the condition is not satisfied.

This fixes PR37616.

Diff Detail

Event Timeline

pengfei created this revision.May 19 2021, 1:47 AM
pengfei requested review of this revision.May 19 2021, 1:47 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 19 2021, 1:47 AM
RKSimon accepted this revision.May 19 2021, 2:55 AM

LGTM - cheers

This revision is now accepted and ready to land.May 19 2021, 2:55 AM

Sorry @pengfei but I'm seeing this after this patch (possibly only on EXPENSIVE_CHECKS?)

Pass modifies its input and doesn't report it: Interleaved Access Pass
Pass modifies its input and doesn't report it
UNREACHABLE executed at E:\llvm\llvm-project\llvm\lib\IR\LegacyPassManager.cpp:1445!
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
pengfei reopened this revision.May 19 2021, 5:37 AM

Thanks @RKSimon , I will investigate it.

This revision is now accepted and ready to land.May 19 2021, 5:37 AM

That's great - thanks @pengfei !