[PATCH] D58650: Add support for computing "zext of value" in KnownBits. NFCI
Bjorn Pettersson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 28 10:49:43 PST 2019
bjope added inline comments.
================
Comment at: llvm/trunk/include/llvm/Support/KnownBits.h:120
+ /// With ExtendedBitsAreKnownZero=false the extended bits are set to unknown.
+ KnownBits zext(unsigned BitWidth, bool ExtendedBitsAreKnownZero) {
+ unsigned OldBitWidth = getBitWidth();
----------------
nikic wrote:
> Might be clearer to separate this into a `zext` and an `anyext` method?
Simply changing the semantics of zext in a single step seemed a little bit risky (at least considering OOT targets).
We might wanna do that split in the future, assuming that OOT targets have had time to adapt to this two-argument version first. That is also why I decided not to use a default value for `ExtendedBitsAreKnownZero`.
One thing that I'm not sure of is if these methods that map directly to the APInt names are supposed to indicate that we apply the APInt function on `One` and `Zero` (i.e. the name should map to the operation applied on the underlying bitmaps)? We already have `computeForAddSub` that is named based on the operations applied to the tracked value. Maybe we should add `computeForZext `and `computeForSext` instead, to make the naming more consistent for methods that refer to the operation on the tracked value.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58650/new/
https://reviews.llvm.org/D58650
More information about the llvm-commits
mailing list