This is an archive of the discontinued LLVM Phabricator instance.

[ARM][MVE] VTP Block fix
ClosedPublic

Authored by SjoerdMeijer on Jan 14 2020, 5:54 AM.

Details

Summary

Fix for the case that was missing where we create 2 VPT blocks predicated on the same VCMP instruction that can be folded. The problem was that for each VPT block, we save the predicate statement to a list so that we can remove them all later in one go, but the same instruction was added twice. Thus, we were running in an assert trying to remove the same instruction twice. To avoid this, the instructions are now saved to a set.

Diff Detail

Event Timeline

SjoerdMeijer created this revision.Jan 14 2020, 5:54 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 14 2020, 5:54 AM
SjoerdMeijer edited the summary of this revision. (Show Details)

Just added a comment for clarity saying that the IR function was intentionally left empty in the MIR test (the offending MIR sequence was extracted from a larger reproducer, and there's no need to copy the corresponding IR).

samparker accepted this revision.Jan 14 2020, 7:51 AM

Cheers.

This revision is now accepted and ready to land.Jan 14 2020, 7:51 AM
This revision was automatically updated to reflect the committed changes.