This is an archive of the discontinued LLVM Phabricator instance.

ValueTracking: Handle shufflevector in computeKnownFPClass
ClosedPublic

Authored by arsenm on Apr 13 2023, 6:28 AM.

Diff Detail

Event Timeline

arsenm created this revision.Apr 13 2023, 6:28 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 13 2023, 6:28 AM
arsenm requested review of this revision.Apr 13 2023, 6:28 AM
Herald added a reviewer: sstefan1. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: wdng. · View Herald Transcript

Add test coverage for demanded elts that include a undef shuffle mask value?

llvm/test/Transforms/Attributor/nofpclass.ll
1027

pre-commit these and rebase to show the diff

arsenm updated this revision to Diff 514719.Apr 18 2023, 12:48 PM

Rebase on split tests

foad accepted this revision.Apr 19 2023, 1:35 AM

LGTM with nit.

llvm/lib/Analysis/ValueTracking.cpp
4610

cast not dyn_cast

This revision is now accepted and ready to land.Apr 19 2023, 1:35 AM
RKSimon accepted this revision.Apr 19 2023, 1:44 AM

LGTM - cheers

arsenm added inline comments.Apr 19 2023, 4:43 AM
llvm/lib/Analysis/ValueTracking.cpp
4610

Shufflevector constant expressions do exist though I couldn’t figure out how to get one to reach here, so it’s better to leave it as is

foad added inline comments.Apr 19 2023, 4:49 AM
llvm/lib/Analysis/ValueTracking.cpp
4610

Fair enough - but maybe getShuffleDemandedElts should handle them too.