This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Simplify operand logic in vmerge combine. NFCI
AbandonedPublic

Authored by luke on Jul 12 2023, 3:09 AM.

Details

Summary

This patch unifies the operands logic by removing the distinction between True being masked or unmasked.
I find this a bit easier to follow, and it makes an upcoming rework of D153351 simpler.

Diff Detail

Event Timeline

luke created this revision.Jul 12 2023, 3:09 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 12 2023, 3:09 AM
luke requested review of this revision.Jul 12 2023, 3:09 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 12 2023, 3:09 AM
luke updated this revision to Diff 539557.Jul 12 2023, 7:42 AM

Remove unnecessary if statement

luke updated this revision to Diff 539983.Jul 13 2023, 6:00 AM

Rebase on top of D152996 and handle the new rounding mode operand

luke edited the summary of this revision. (Show Details)Jul 13 2023, 6:05 AM
luke added a reviewer: eopXD.

After staring at this for a while last night and not quite being able to convince myself of the correctness, I went through and split out pieces one at a time this morning - mostly as an exercise in establishing all the intermediate lemmas and justifying it to myself. I think I've landed all the major pieces of this. Can you do one last rebase to see if I missed anything you consider important?

p.s. Thank you for posting it. I definitely agree that the overall result is a lot cleaner.

luke added a comment.Jul 13 2023, 12:02 PM

Rebased my D155071 branch on top of it, LGTM. Thanks for chunking it up!

luke abandoned this revision.Jul 13 2023, 12:02 PM