Page MenuHomePhabricator

InstCombine: Avoid introducing poison values when lowering llvm.amdgcn.[us]bfe

Authored by tstellar on Oct 25 2018, 4:20 PM.



When the 3rd argument to these intrinsics is zero, lowering them
to shift instructions produces poison values, since we end up with
shift amounts equal to the number of bits in the shifted value. This
means we can only lower these intrinsics if we can prove that the
3rd argument is not zero.

Diff Detail


Event Timeline

tstellar created this revision.Oct 25 2018, 4:20 PM
bnieuwenhuizen added inline comments.
3452 ↗(On Diff #171216)

Small nit in this comment and the commit title/message: posion -> poison?

tstellar updated this revision to Diff 171221.Oct 25 2018, 4:37 PM

Fix spelling.

tstellar retitled this revision from InstCombine: Avoid introducing posion values when lowering llvm.amdgcn.[us]bfe to InstCombine: Avoid introducing poison values when lowering llvm.amdgcn.[us]bfe.Oct 25 2018, 4:37 PM
tstellar edited the summary of this revision. (Show Details)
arsenm accepted this revision.Oct 25 2018, 7:48 PM

LGTM besides formatting

3454 ↗(On Diff #171221)

Extra space before (

This revision is now accepted and ready to land.Oct 25 2018, 7:48 PM
This revision was automatically updated to reflect the committed changes.