[all-commits] [llvm/llvm-project] 4035cb: [SVE] Add new isKnownXX comparison functions to Ty...
david-arm via All-commits
all-commits at lists.llvm.org
Thu Sep 24 02:23:36 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 4035cb7ac5755357222b6a83d76bdc4c2d718c54
https://github.com/llvm/llvm-project/commit/4035cb7ac5755357222b6a83d76bdc4c2d718c54
Author: David Sherwood <david.sherwood at arm.com>
Date: 2020-09-24 (Thu, 24 Sep 2020)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.h
M llvm/include/llvm/Support/MachineValueType.h
M llvm/include/llvm/Support/TypeSize.h
Log Message:
-----------
[SVE] Add new isKnownXX comparison functions to TypeSize
This patch introduces four new comparison functions:
isKnownLT, isKnownLE, isKnownGT, isKnownGE
that return true if we know at compile time that a particular
condition is met, i.e. that one size is definitely greater than
another. The existing operators <,>,<=,>= remain in the code for
now, but over time we would like to remove them and change the
code to use the isKnownXY routines instead. These functions do
not assert like the existing operators because the caller is
expected to properly deal with cases where we return false by
analysing the scalable properties. I've made more of an effort
to deal with cases where there are mixed comparisons, i.e. between
fixed width and scalable types.
I've also added some knownBitsXY routines to the EVT and MVT
classes that call the equivalent TypeSize::isKnownXY routines.
I've changed the existing bitsXY functions to call their knownBitsXY
equivalents and added asserts that the scalable properties match.
Again, over time we expect to migrate callers to use knownBitsXY
and make the code more aware of the scalable nature of the sizes.
Differential revision: https://reviews.llvm.org/D88098
More information about the All-commits
mailing list