Calling getShiftAmountTy with LegalTypes set may return a type that's too narrow to hold the shift amount for integer type it's applied to.
Fixes the regression introduced by D79096
Paths
| Differential D79405
[SelectionDAG] Fix assertion failure with big shift amounts ClosedPublic Authored by LemonBoy on May 5 2020, 4:19 AM.
Details Summary Calling getShiftAmountTy with LegalTypes set may return a type that's too narrow to hold the shift amount for integer type it's applied to. Fixes the regression introduced by D79096
Diff Detail Event TimelineComment Actions
No, that code path uses IntVT for the shift constant. This revision is now accepted and ready to land.May 5 2020, 8:24 PM Comment Actions
Since I have no commit access I'll have to disturb you once again to get this committed :) Closed by commit rG7fa5abd3437e: [SelectionDAG] Fix assertion failure with big shift amounts (authored by LemonBoy, committed by craig.topper). · Explain WhyMay 6 2020, 12:26 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 262060 llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
llvm/test/CodeGen/X86/load-local-v3i129.ll
|