mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
David Sherwood
f6f274223b
[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
The LLVM Compiler Infrastructure ================================ This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments. LLVM is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt. Please see the documentation provided in docs/ for further assistance with LLVM, and in particular docs/GettingStarted.rst for getting started with LLVM and docs/README.txt for an overview of LLVM's documentation setup. If you are writing a package for LLVM, see docs/Packaging.rst for our suggestions.
Description
Languages
C++
96.9%
C
1%
Python
1%
CMake
0.6%
OCaml
0.2%
Other
0.1%