LLVM
8.0.1
|
This file implements a class to represent arbitrary precision integral constant values and operations on them. More...
#include "llvm/Support/Compiler.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <climits>
#include <cstring>
#include <string>
Go to the source code of this file.
Classes | |
class | llvm::SmallVectorImpl< T > |
This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter. More... | |
class | llvm::ArrayRef< T > |
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory), i.e. More... | |
class | llvm::Optional< T > |
class | llvm::APInt |
Class for arbitrary precision integers. More... | |
struct | llvm::APInt::ms |
Magic data for optimising signed division by a constant. More... | |
struct | llvm::APInt::mu |
Magic data for optimising unsigned division by a constant. More... | |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
llvm::APIntOps | |
Functions | |
APInt | llvm::operator- (APInt) |
bool | llvm::operator== (uint64_t V1, const APInt &V2) |
bool | llvm::operator!= (uint64_t V1, const APInt &V2) |
APInt | llvm::operator~ (APInt v) |
Unary bitwise complement operator. More... | |
APInt | llvm::operator & (APInt a, const APInt &b) |
APInt | llvm::operator & (const APInt &a, APInt &&b) |
APInt | llvm::operator & (APInt a, uint64_t RHS) |
APInt | llvm::operator & (uint64_t LHS, APInt b) |
APInt | llvm::operator| (APInt a, const APInt &b) |
APInt | llvm::operator| (const APInt &a, APInt &&b) |
APInt | llvm::operator| (APInt a, uint64_t RHS) |
APInt | llvm::operator| (uint64_t LHS, APInt b) |
APInt | llvm::operator^ (APInt a, const APInt &b) |
APInt | llvm::operator^ (const APInt &a, APInt &&b) |
APInt | llvm::operator^ (APInt a, uint64_t RHS) |
APInt | llvm::operator^ (uint64_t LHS, APInt b) |
raw_ostream & | llvm::operator<< (raw_ostream &OS, const APInt &I) |
APInt | llvm::operator+ (APInt a, const APInt &b) |
APInt | llvm::operator+ (const APInt &a, APInt &&b) |
APInt | llvm::operator+ (APInt a, uint64_t RHS) |
APInt | llvm::operator+ (uint64_t LHS, APInt b) |
APInt | llvm::operator- (APInt a, const APInt &b) |
APInt | llvm::operator- (const APInt &a, APInt &&b) |
APInt | llvm::operator- (APInt a, uint64_t RHS) |
APInt | llvm::operator- (uint64_t LHS, APInt b) |
APInt | llvm::operator* (APInt a, uint64_t RHS) |
APInt | llvm::operator* (uint64_t LHS, APInt b) |
const APInt & | llvm::APIntOps::smin (const APInt &A, const APInt &B) |
Determine the smaller of two APInts considered to be signed. More... | |
const APInt & | llvm::APIntOps::smax (const APInt &A, const APInt &B) |
Determine the larger of two APInts considered to be signed. More... | |
const APInt & | llvm::APIntOps::umin (const APInt &A, const APInt &B) |
Determine the smaller of two APInts considered to be signed. More... | |
const APInt & | llvm::APIntOps::umax (const APInt &A, const APInt &B) |
Determine the larger of two APInts considered to be unsigned. More... | |
APInt | llvm::APIntOps::GreatestCommonDivisor (APInt A, APInt B) |
Compute GCD of two unsigned APInt values. More... | |
double | llvm::APIntOps::RoundAPIntToDouble (const APInt &APIVal) |
Converts the given APInt to a double value. More... | |
double | llvm::APIntOps::RoundSignedAPIntToDouble (const APInt &APIVal) |
Converts the given APInt to a double value. More... | |
float | llvm::APIntOps::RoundAPIntToFloat (const APInt &APIVal) |
Converts the given APInt to a float vlalue. More... | |
float | llvm::APIntOps::RoundSignedAPIntToFloat (const APInt &APIVal) |
Converts the given APInt to a float value. More... | |
APInt | llvm::APIntOps::RoundDoubleToAPInt (double Double, unsigned width) |
Converts the given double value into a APInt. More... | |
APInt | llvm::APIntOps::RoundFloatToAPInt (float Float, unsigned width) |
Converts a float value into a APInt. More... | |
APInt | llvm::APIntOps::RoundingUDiv (const APInt &A, const APInt &B, APInt::Rounding RM) |
Return A unsign-divided by B, rounded by the given rounding mode. More... | |
APInt | llvm::APIntOps::RoundingSDiv (const APInt &A, const APInt &B, APInt::Rounding RM) |
Return A sign-divided by B, rounded by the given rounding mode. More... | |
Optional< APInt > | llvm::APIntOps::SolveQuadraticEquationWrap (APInt A, APInt B, APInt C, unsigned RangeWidth) |
Let q(n) = An^2 + Bn + C, and BW = bit width of the value range (e.g. More... | |
hash_code | llvm::hash_value (const APInt &Arg) |
This file implements a class to represent arbitrary precision integral constant values and operations on them.
Definition in file APInt.h.