This is an archive of the discontinued LLVM Phabricator instance.

[ARM] PR32379 - fix CMOV operands in computeKnownBits
Needs ReviewPublic

Authored by arielb1 on Mar 22 2017, 1:15 PM.

Details

Summary

ARMISD::CMOV has operands as the following:

CMOV <on-false> <on-true> <armcc> <ccr> <cmp>

In particular, the return value of it is either operand 0 or operand 1, so computeKnownBits can return the mutually-known bits in these operands - it used to return the mutually-known bits in operands *1* and *2*, which was bogus.

Diff Detail

Event Timeline

arielb1 created this revision.Mar 22 2017, 1:15 PM

https://reviews.llvm.org/D31253 has a slightly cleaner version of this fix.