This is an archive of the discontinued LLVM Phabricator instance.

[SelectionDAG] Implicitly truncate known bits in SPLAT_VECTOR
ClosedPublic

Authored by luke on Jan 5 2023, 10:29 AM.

Details

Summary

Now that D139525 fixes the Hexagon infinite loop, the stopgap can be
removed to provide more information about known bits in SPLAT_VECTOR
whose operands are smaller than the bit width (which is most of the
time)

Diff Detail

Event Timeline

luke created this revision.Jan 5 2023, 10:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 5 2023, 10:29 AM
luke requested review of this revision.Jan 5 2023, 10:29 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 5 2023, 10:29 AM
craig.topper added inline comments.
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
2982

Why extractBits instead of trunc?

reames added a comment.Jan 5 2023, 2:38 PM

Test case?

llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
2979–2980

It looks like you've got some extra white space here.

luke updated this revision to Diff 486784.Jan 6 2023, 2:24 AM

Address feedback

luke marked 2 inline comments as done.Jan 6 2023, 2:25 AM
luke added inline comments.
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
2982

Thanks, that was exactly the function I was looking for

luke updated this revision to Diff 486786.Jan 6 2023, 2:40 AM
luke marked an inline comment as done.

Update test cases

luke added a reviewer: dmgreen.Jan 6 2023, 2:41 AM
luke updated this revision to Diff 486801.Jan 6 2023, 3:41 AM

Rebase on top of D141120

luke updated this revision to Diff 486802.Jan 6 2023, 3:42 AM

Update test

reames accepted this revision.Jan 6 2023, 7:16 AM

LGTM

This revision is now accepted and ready to land.Jan 6 2023, 7:16 AM
This revision was automatically updated to reflect the committed changes.