LLVM 20.0.0git
Classes | Namespaces | Functions
DynamicAPInt.h File Reference
#include "llvm/ADT/SlowDynamicAPInt.h"
#include "llvm/Support/MathExtras.h"
#include <numeric>

Go to the source code of this file.

Classes

class  llvm::DynamicAPInt
 This class provides support for dynamic arbitrary-precision arithmetic. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

raw_ostream & llvm::operator<< (raw_ostream &OS, const DynamicAPInt &X)
 
hash_code llvm::hash_value (const DynamicAPInt &X)
 Redeclarations of friend declaration above to make it discoverable by lookups.
 
static int64_t llvm::int64fromDynamicAPInt (const DynamicAPInt &X)
 This just calls through to the operator int64_t, but it's useful when a function pointer is required.
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::dynamicAPIntFromInt64 (int64_t X)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::mod (const DynamicAPInt &LHS, const DynamicAPInt &RHS)
 is always non-negative.
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::abs (const DynamicAPInt &X)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::ceilDiv (const DynamicAPInt &LHS, const DynamicAPInt &RHS)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::floorDiv (const DynamicAPInt &LHS, const DynamicAPInt &RHS)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::gcd (const DynamicAPInt &A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::lcm (const DynamicAPInt &A, const DynamicAPInt &B)
 Returns the least common multiple of A and B.
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & llvm::operator+= (DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & llvm::operator-= (DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & llvm::operator*= (DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & llvm::operator/= (DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt & llvm::operator%= (DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator+ (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator- (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator* (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator/ (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator% (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator+ (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator- (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator* (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator/ (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE DynamicAPInt llvm::operator% (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator== (const DynamicAPInt &A, int64_t B)
 We provide special implementations of the comparison operators rather than calling through as above, as this would result in a 1.2x slowdown.
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator!= (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator> (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator< (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator<= (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator>= (const DynamicAPInt &A, int64_t B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator== (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator!= (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator> (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator< (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator<= (int64_t A, const DynamicAPInt &B)
 
LLVM_ATTRIBUTE_ALWAYS_INLINE bool llvm::operator>= (int64_t A, const DynamicAPInt &B)