LLVM  8.0.1
Classes | Namespaces | Functions
APInt.h File Reference

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>
Include dependency graph for APInt.h:

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< APIntllvm::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)
 

Detailed Description

This file implements a class to represent arbitrary precision integral constant values and operations on them.

Definition in file APInt.h.