Alive2: https://alive2.llvm.org/ce/z/JLmabt (umul)
https://alive2.llvm.org/ce/z/J_ruXR (smul) https://alive2.llvm.org/ce/z/o9SVSz (vector)
Paths
| Differential D133188
[InstCombine] extractvalue (any_mul_with_overflow X, 2^n), 0 -> X << n ClosedPublic Authored by Chenbing.Zheng on Sep 2 2022, 12:04 AM.
Details Summary Alive2: https://alive2.llvm.org/ce/z/JLmabt (umul) https://alive2.llvm.org/ce/z/J_ruXR (smul) https://alive2.llvm.org/ce/z/o9SVSz (vector)
Diff Detail
Event TimelineComment Actions Is this a better proof? https://alive2.llvm.org/ce/z/JLmabt (noundefs) https://alive2.llvm.org/ce/z/J_ruXR (with undefs) Chenbing.Zheng retitled this revision from [InstCombine] extractvalue (umul_with_overflow X, 2^n), 0 -> X << n to [InstCombine] extractvalue (any_mul_with_overflow X, 2^n), 0 -> X << n. Comment Actionsadd smul support Comment Actions
Yer, thanks. I have update it to summary.
Comment Actions This change allows vectors with undef elements, but there are no tests for that. Please adjust at least one test to exercise that pattern - a vector type with constant that includes a poison element.
This revision is now accepted and ready to land.Sep 7 2022, 5:10 AM This revision was landed with ongoing or failed builds.Sep 7 2022, 8:15 PM Closed by commit rG01cea7ac1005: [InstCombine] extractvalue (any_mul_with_overflow X, 2^n), 0 -> X << n (authored by Chenbing.Zheng). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 458631 llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
llvm/test/Transforms/InstCombine/with_overflow.ll
|
m_AllOnes ?