LLVM 22.0.0git
llvm::detail Namespace Reference

These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc. More...

Classes

class  AllocatorHolder
class  AllocatorHolder< Alloc & >
struct  AnalysisPassConcept
 Abstract concept of an analysis pass. More...
struct  AnalysisPassModel
 Wrapper to model the analysis pass concept. More...
struct  AnalysisResultConcept
 Abstract concept of an analysis result. More...
struct  AnalysisResultModel
 Wrapper to model the analysis result concept. More...
struct  AnalysisResultModel< IRUnitT, PassT, ResultT, InvalidatorT, false >
 Specialization of AnalysisResultModel which provides the default invalidate functionality. More...
struct  AnalysisResultModel< IRUnitT, PassT, ResultT, InvalidatorT, true >
 Specialization of AnalysisResultModel which delegates invalidate handling to ResultT. More...
class  BCField
 Convenience base for all kinds of bitcode abbreviation fields. More...
class  BCRecordCoding
 Helper class for dealing with a scalar element in the middle of a record. More...
class  BCRecordCoding< BCArray< ElementTy > >
 Helper class for dealing with an array at the end of a record. More...
class  BCRecordCoding< BCBlob >
 Helper class for dealing with a blob at the end of a record. More...
class  BCRecordCoding< ElementTy >
 Helper class for dealing with a scalar element at the end of a record. More...
struct  CanOutputToOStream
struct  CanOutputToOStream< T, std::void_t< decltype(std::declval< std::ostream & >()<< std::declval< T >())> >
struct  CheckedInt
class  concat_range
 Helper to store a sequence of ranges being concatenated and access them. More...
struct  DenseMapPair
struct  DenseSetEmpty
class  DenseSetImpl
 Base class for DenseSet and DenseSmallSet. More...
class  DenseSetPair
struct  detector
struct  detector< std::void_t< Op< Args... > >, Op, Args... >
class  DoubleAPFloat
struct  enumerator_result
 Tuple-like type for zip_enumerator dereference. More...
struct  enumerator_result< std::size_t, Refs... >
struct  ErrorHolder
class  ErrorMatchesMono
class  ErrorMessageMatches
struct  ExpectedHolder
class  first_or_second_type
 Return a reference to the first or second member of a reference. More...
struct  HasPointerLikeTypeTraits
struct  HasPointerLikeTypeTraits< T, decltype((sizeof(PointerLikeTypeTraits< T >)+sizeof(T)), void())>
class  IEEEFloat
struct  index_iterator
struct  index_stream
 Infinite stream of increasing 0-based size_t indices. More...
class  indexed_accessor_range_base
 The class represents the base of a range of indexed_accessor_iterators. More...
struct  is_array
 A type trait whose value field is true if the given type is a BCArray (of any element kind). More...
struct  IsaAndPresentCheckPredicate
struct  IsaCheckPredicate
struct  IsPointerLike
struct  IsPointerLike< T * >
struct  last_type
 A type trait whose type field is the last of its template parameters. More...
struct  last_type< Head >
struct  PassConcept
 Template for the abstract base class used to dispatch polymorphically over pass objects. More...
struct  PassModel
 A template wrapper used to implement the polymorphic API. More...
struct  PointerSumTypeHelper
 A helper template for implementing PointerSumType. More...
class  PtrUseVisitorBase
 Implementation of non-dependent functionality for PtrUseVisitor. More...
struct  PunnedPointer
struct  RecordKeeperImpl
 This class represents the internal implementation of the RecordKeeper. More...
class  ResultHasInvalidateMethod
 SFINAE metafunction for computing whether ResultT provides an invalidate member function. More...
struct  SafeIntIterator
class  scope_exit
class  SlowDynamicAPInt
 A simple class providing dynamic arbitrary-precision arithmetic. More...
class  StringMapEntryMatcher
class  StringMapEntryMatcherImpl
class  TypeSwitchBase
class  UniqueFunctionBase
struct  unit
struct  unit< std::micro >
struct  unit< std::milli >
struct  unit< std::nano >
struct  unit< std::ratio< 1 > >
struct  unit< std::ratio< 3600 > >
struct  unit< std::ratio< 60 > >
class  ValueIsMatcher
class  ValueMatchesMono
class  ValueMatchesPoly
struct  Visitor
struct  Visitor< HeadT >
struct  Visitor< HeadT, TailTs... >
struct  zip_common
struct  zip_enumerator
 Zippy iterator that uses the second iterator for comparisons. More...
struct  zip_first
class  zip_longest_iterator
class  zip_longest_range
struct  zip_shortest
struct  ZipLongestItemType
struct  ZipLongestTupleType
class  zippy
struct  ZippyIteratorTuple
 Helper to obtain the iterator types for the tuple storage within zippy. More...
struct  ZippyIteratorTuple< ItType, const std::tuple< Args... >, std::index_sequence< Ns... > >
 Partial specialization for const tuple storage. More...
struct  ZippyIteratorTuple< ItType, std::tuple< Args... >, std::index_sequence< Ns... > >
 Partial specialization for non-const tuple storage. More...
struct  ZipTupleType

Typedefs

template<typename RangeT>
using IterOfRange = decltype(adl_begin(std::declval<RangeT &>()))
template<typename RangeT>
using ValueOfRange
using integerPart = APFloatBase::integerPart
using uninitializedTag = APFloatBase::uninitializedTag
using roundingMode = APFloatBase::roundingMode
using opStatus = APFloatBase::opStatus
using cmpResult = APFloatBase::cmpResult
using fltCategory = APFloatBase::fltCategory
using ExponentType = APFloatBase::ExponentType
template<typename ValueT, typename ValueInfoT>
using DenseSet
template<typename ValueT, unsigned InlineBuckets, typename ValueInfoT>
using SmallDenseSet
template<typename T>
using EnableIfTrivial
template<typename CallableT, typename ThisT>
using EnableUnlessSameType
template<typename CallableT, typename Ret, typename... Params>
using EnableIfCallable
template<typename T>
using has_number_t
template<typename Set, typename Fn>
using check_has_member_remove_if_t
template<typename Set>
using check_has_member_erase_iter_t
template<typename Range>
using check_has_free_function_rbegin
template<typename IterT>
using fwd_or_bidi_tag
 A type alias which is std::bidirectional_iterator_tag if the category of IterT derives from it, and std::forward_iterator_tag otherwise.
template<typename ZipType, typename ReferenceTupleType, typename... Iters>
using zip_traits
template<typename T>
using sort_trivially_copyable
template<typename Range>
using check_has_free_function_size
template<typename Range, typename Element>
using check_has_member_contains_t
template<typename Range, typename Element>
using check_has_member_find_t
template<typename... Iters>
using EnumeratorTupleType = enumerator_result<decltype(*declval<Iters>())...>
template<typename T>
using has_sizeof = decltype(sizeof(T))
template<typename... Types>
using has_blob = std::is_same<BCBlob, typename last_type<int, Types...>::type>
 A type trait whose value field is true if the last type is BCBlob.
template<typename... Types>
using has_array = is_array<typename last_type<int, Types...>::type>
 A type trait whose value field is true if the last type is a BCArray (of any element kind).
template<typename OptionalDerived, typename Default>
using SelfType
 A helper to derive the type to use with Self for cast traits, when the provided CRTP derived type is allowed to be void.
template<class BlockT>
using has_hoist_check = decltype(&BlockT::isLegalToHoistInto)
template<class BlockT>
using detect_has_hoist_check = llvm::is_detected<has_hoist_check, BlockT>

Functions

LLVM_ABI hash_code hash_value (const IEEEFloat &Arg)
LLVM_ABI int ilogb (const IEEEFloat &Arg)
LLVM_ABI IEEEFloat scalbn (IEEEFloat X, int Exp, roundingMode RoundingMode)
LLVM_ABI IEEEFloat frexp (const IEEEFloat &Val, int &Exp, roundingMode RM)
LLVM_ABI hash_code hash_value (const DoubleAPFloat &Arg)
LLVM_ABI DoubleAPFloat scalbn (const DoubleAPFloat &Arg, int Exp, roundingMode RM)
LLVM_ABI DoubleAPFloat frexp (const DoubleAPFloat &X, int &Exp, roundingMode)
unsigned combineHashValue (unsigned a, unsigned b)
 Simplistic combination of 32-bit hash values into 32-bit hash values.
template<typename ValueT, typename MapTy, typename ValueInfoT>
bool operator== (const DenseSetImpl< ValueT, MapTy, ValueInfoT > &LHS, const DenseSetImpl< ValueT, MapTy, ValueInfoT > &RHS)
 Equality comparison for DenseSet.
template<typename ValueT, typename MapTy, typename ValueInfoT>
bool operator!= (const DenseSetImpl< ValueT, MapTy, ValueInfoT > &LHS, const DenseSetImpl< ValueT, MapTy, ValueInfoT > &RHS)
 Inequality comparison for DenseSet.
template<typename T, typename U>
bool canTypeFitValue (const U Value)
template<class S1Ty, class S2Ty>
bool set_intersects_impl (const S1Ty &S1, const S2Ty &S2)
raw_ostreamoperator<< (raw_ostream &OS, const SlowDynamicAPInt &X)
LLVM_ABI SlowDynamicAPInt mod (const SlowDynamicAPInt &LHS, const SlowDynamicAPInt &RHS)
 Returns the remainder of dividing LHS by RHS.
LLVM_ABI SlowDynamicAPInt lcm (const SlowDynamicAPInt &A, const SlowDynamicAPInt &B)
 Returns the least common multiple of A and B.
LLVM_ABI SlowDynamicAPInt abs (const SlowDynamicAPInt &X)
 Redeclarations of friend declarations above to make it discoverable by lookups.
LLVM_ABI SlowDynamicAPInt ceilDiv (const SlowDynamicAPInt &LHS, const SlowDynamicAPInt &RHS)
LLVM_ABI SlowDynamicAPInt floorDiv (const SlowDynamicAPInt &LHS, const SlowDynamicAPInt &RHS)
LLVM_ABI SlowDynamicAPInt gcd (const SlowDynamicAPInt &A, const SlowDynamicAPInt &B)
LLVM_ABI hash_code hash_value (const SlowDynamicAPInt &X)
LLVM_ABI SlowDynamicAPIntoperator+= (SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPIntoperator-= (SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPIntoperator*= (SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPIntoperator/= (SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPIntoperator%= (SlowDynamicAPInt &A, int64_t B)
LLVM_ABI bool operator== (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI bool operator!= (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI bool operator> (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI bool operator< (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI bool operator<= (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI bool operator>= (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPInt operator+ (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPInt operator- (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPInt operator* (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPInt operator/ (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI SlowDynamicAPInt operator% (const SlowDynamicAPInt &A, int64_t B)
LLVM_ABI bool operator== (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI bool operator!= (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI bool operator> (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI bool operator< (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI bool operator<= (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI bool operator>= (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI SlowDynamicAPInt operator+ (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI SlowDynamicAPInt operator- (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI SlowDynamicAPInt operator* (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI SlowDynamicAPInt operator/ (int64_t A, const SlowDynamicAPInt &B)
LLVM_ABI SlowDynamicAPInt operator% (int64_t A, const SlowDynamicAPInt &B)
template<typename Iter>
Iter next_or_end (const Iter &I, const Iter &End)
template<typename Iter>
auto deref_or_none (const Iter &I, const Iter &End) -> std::optional< std::remove_const_t< std::remove_reference_t< decltype(*I)> > >
template<typename OtherT, typename DerivedT, typename BaseT, typename T, typename PointerT, typename ReferenceT>
bool operator== (const indexed_accessor_range_base< DerivedT, BaseT, T, PointerT, ReferenceT > &lhs, const OtherT &rhs)
 Compare this range with another.
template<typename OtherT, typename DerivedT, typename BaseT, typename T, typename PointerT, typename ReferenceT>
bool operator!= (const indexed_accessor_range_base< DerivedT, BaseT, T, PointerT, ReferenceT > &lhs, const OtherT &rhs)
template<typename Predicate, typename... Args>
bool all_of_zip_predicate_first (Predicate &&P, Args &&...args)
template<typename... ArgsThenPredicate, size_t... InputIndexes>
bool all_of_zip_predicate_last (std::tuple< ArgsThenPredicate... > argsThenPredicate, std::index_sequence< InputIndexes... >)
template<typename N>
bool to_float (const Twine &T, N &Num, N(*StrTo)(const char *, char **))
template<typename IteratorT>
std::string join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::input_iterator_tag)
template<typename IteratorT>
std::string join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::forward_iterator_tag)
template<typename Sep>
void join_items_impl (std::string &Result, Sep Separator)
template<typename Sep, typename Arg>
void join_items_impl (std::string &Result, Sep Separator, const Arg &Item)
template<typename Sep, typename Arg1, typename... Args>
void join_items_impl (std::string &Result, Sep Separator, const Arg1 &A1, Args &&... Items)
size_t join_one_item_size (char)
size_t join_one_item_size (const char *S)
template<typename T>
size_t join_one_item_size (const T &Str)
template<typename... Args>
size_t join_items_size (Args &&...Items)
template<typename FieldTy>
static void emitOps (llvm::BitCodeAbbrev &abbrev)
 Attaches the last field to an abbreviation.
template<typename FieldTy, typename Next, typename... Rest>
static void emitOps (llvm::BitCodeAbbrev &abbrev)
 Attaches fields to an abbreviation.
template<typename DieType>
DieType resolveReferencedType (DieType D, dwarf::Attribute Attr=dwarf::DW_AT_type)
template<typename DieType>
DieType resolveReferencedType (DieType D, typename DieType::DWARFFormValue F)
template<typename DWARFFormValueType>
const chartoString (std::optional< DWARFFormValueType > F)
template<typename PassT, typename IRUnitT, typename AnalysisManagerT, typename... ArgTs, size_t... Ns>
PassT::Result getAnalysisResultUnpackTuple (AnalysisManagerT &AM, IRUnitT &IR, std::tuple< ArgTs... > Args, std::index_sequence< Ns... >)
 Actual unpacker of extra arguments in getAnalysisResult, passes only those tuple arguments that are mentioned in index_sequence.
template<typename PassT, typename IRUnitT, typename... AnalysisArgTs, typename... MainArgTs>
PassT::Result getAnalysisResult (AnalysisManager< IRUnitT, AnalysisArgTs... > &AM, IRUnitT &IR, std::tuple< MainArgTs... > Args)
 Helper for partial unpacking of extra arguments in getAnalysisResult.
LLVM_ABI void printBumpPtrAllocatorStats (unsigned NumSlabs, size_t BytesAllocated, size_t TotalMemory)
template<typename T>
bool isPresent (const T &t)
template<typename T>
decltype(auto) unwrapValue (T &t)
template<typename Range>
auto reverse_if_helper (Range &&R, std::bool_constant< false >)
template<typename Range>
auto reverse_if_helper (Range &&R, std::bool_constant< true >)
template<bool B, typename Range>
auto reverse_if (Range &&R)
template<class BlockT>
bool isLegalToHoistInto (BlockT *Block)
 SFINAE functions that dispatch to the isLegalToHoistInto member function or return false, if it doesn't exist.
ErrorHolder TakeError (Error Err)
template<typename T>
ExpectedHolder< TTakeExpected (Expected< T > &Exp)
template<typename T>
ExpectedHolder< TTakeExpected (Expected< T > &&Exp)
void PrintTo (const ErrorHolder &Err, std::ostream *Out)
template<typename T>
void PrintTo (const ExpectedHolder< T > &Item, std::ostream *Out)
static void tcSetLeastSignificantBits (APInt::WordType *dst, unsigned parts, unsigned bits)
static std::pair< APFloat, APFloatfastTwoSum (APFloat X, APFloat Y)
int ilogb (const DoubleAPFloat &Arg)
DoubleAPFloat scalbn (const DoubleAPFloat &Arg, int Exp, APFloat::roundingMode RM)
DoubleAPFloat frexp (const DoubleAPFloat &Arg, int &Exp, APFloat::roundingMode RM)

Variables

static constexpr uninitializedTag uninitialized = APFloatBase::uninitialized
static constexpr roundingMode rmNearestTiesToEven
static constexpr roundingMode rmNearestTiesToAway
static constexpr roundingMode rmTowardNegative = APFloatBase::rmTowardNegative
static constexpr roundingMode rmTowardPositive = APFloatBase::rmTowardPositive
static constexpr roundingMode rmTowardZero = APFloatBase::rmTowardZero
static constexpr unsigned integerPartWidth = APFloatBase::integerPartWidth
static constexpr cmpResult cmpEqual = APFloatBase::cmpEqual
static constexpr cmpResult cmpLessThan = APFloatBase::cmpLessThan
static constexpr cmpResult cmpGreaterThan = APFloatBase::cmpGreaterThan
static constexpr cmpResult cmpUnordered = APFloatBase::cmpUnordered
static constexpr opStatus opOK = APFloatBase::opOK
static constexpr opStatus opInvalidOp = APFloatBase::opInvalidOp
static constexpr opStatus opDivByZero = APFloatBase::opDivByZero
static constexpr opStatus opOverflow = APFloatBase::opOverflow
static constexpr opStatus opUnderflow = APFloatBase::opUnderflow
static constexpr opStatus opInexact = APFloatBase::opInexact
static constexpr fltCategory fcInfinity = APFloatBase::fcInfinity
static constexpr fltCategory fcNaN = APFloatBase::fcNaN
static constexpr fltCategory fcNormal = APFloatBase::fcNormal
static constexpr fltCategory fcZero = APFloatBase::fcZero
template<typename CallableT, typename CalledAsT, typename Enable>
UniqueFunctionBase< R, P... >::NonTrivialCallbacks UniqueFunctionBase< R, P... >::CallbacksHolder< CallableT, CalledAsT, Enable >::Callbacks
template<typename CallableT, typename CalledAsT>
UniqueFunctionBase< R, P... >::TrivialCallback UniqueFunctionBase< R, P... >::CallbacksHolder< CallableT, CalledAsT, EnableIfTrivial< CallableT > >::Callbacks
template<typename Set, typename Fn>
static constexpr bool HasMemberRemoveIf
template<typename Set>
static constexpr bool HasMemberEraseIter
template<typename Range>
static constexpr bool HasFreeFunctionRBegin
template<typename Range>
static constexpr bool HasFreeFunctionSize
template<typename Range, typename Element>
static constexpr bool HasMemberContains
template<typename Range, typename Element>
static constexpr bool HasMemberFind
template<typename Period>
const char unit< Period >::value [] = ""

Detailed Description

These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.

This is accomplished by exposing the isa* functions through function objects with a generic function call operator.

Typedef Documentation

◆ check_has_free_function_rbegin

Initial value:
decltype(adl_rbegin(std::declval<Range &>()))
constexpr auto adl_rbegin(RangeT &&range) -> decltype(adl_detail::rbegin_impl(std::forward< RangeT >(range)))
Returns the reverse-begin iterator to range using std::rbegin and function found through Argument-Dep...
Definition ADL.h:94

Definition at line 398 of file STLExtras.h.

◆ check_has_free_function_size

Initial value:
decltype(adl_size(std::declval<Range &>()))
constexpr auto adl_size(RangeT &&range) -> decltype(adl_detail::size_impl(std::forward< RangeT >(range)))
Returns the size of range using std::size and functions found through Argument-Dependent Lookup (ADL)...
Definition ADL.h:118

Definition at line 1668 of file STLExtras.h.

◆ check_has_member_contains_t

template<typename Range, typename Element>
using llvm::detail::check_has_member_contains_t
Initial value:
decltype(std::declval<Range &>().contains(std::declval<const Element &>()))

Definition at line 1853 of file STLExtras.h.

◆ check_has_member_erase_iter_t

template<typename Set>
using llvm::detail::check_has_member_erase_iter_t
Initial value:
decltype(std::declval<Set>().erase(std::declval<Set>().begin()))

Definition at line 32 of file SetOperations.h.

◆ check_has_member_find_t

template<typename Range, typename Element>
using llvm::detail::check_has_member_find_t
Initial value:
decltype(std::declval<Range &>().find(std::declval<const Element &>()) !=
std::declval<Range &>().end())

Definition at line 1861 of file STLExtras.h.

◆ check_has_member_remove_if_t

template<typename Set, typename Fn>
using llvm::detail::check_has_member_remove_if_t
Initial value:
decltype(std::declval<Set>().remove_if(std::declval<Fn>()))

Definition at line 24 of file SetOperations.h.

◆ cmpResult

Definition at line 378 of file APFloat.h.

◆ DenseSet

template<typename ValueT, typename ValueInfoT>
using llvm::detail::DenseSet
Initial value:

Definition at line 254 of file DenseSet.h.

◆ detect_has_hoist_check

Definition at line 190 of file GenericLoopInfoImpl.h.

◆ EnableIfCallable

template<typename CallableT, typename Ret, typename... Params>
using llvm::detail::EnableIfCallable
Initial value:
std::enable_if_t<std::disjunction<
std::is_void<Ret>,
std::is_same<decltype(std::declval<CallableT>()(std::declval<Params>()...)),
Ret>,
std::is_same<const decltype(std::declval<CallableT>()(
std::declval<Params>()...)),
Ret>,
std::is_convertible<decltype(std::declval<CallableT>()(
std::declval<Params>()...)),
Ret>>::value>
const char unit< Period >::value[]
Definition Chrono.h:104

Definition at line 69 of file FunctionExtras.h.

◆ EnableIfTrivial

template<typename T>
using llvm::detail::EnableIfTrivial
Initial value:
std::enable_if_t<std::is_trivially_move_constructible<T>::value &&
std::is_trivially_destructible<T>::value>

Definition at line 62 of file FunctionExtras.h.

◆ EnableUnlessSameType

template<typename CallableT, typename ThisT>
using llvm::detail::EnableUnlessSameType
Initial value:
std::enable_if_t<!std::is_same<remove_cvref_t<CallableT>, ThisT>::value>

Definition at line 66 of file FunctionExtras.h.

◆ EnumeratorTupleType

template<typename... Iters>
using llvm::detail::EnumeratorTupleType = enumerator_result<decltype(*declval<Iters>())...>

Definition at line 2259 of file STLExtras.h.

◆ ExponentType

◆ fltCategory

Definition at line 379 of file APFloat.h.

◆ fwd_or_bidi_tag

template<typename IterT>
using llvm::detail::fwd_or_bidi_tag
Initial value:
std::conditional_t<
std::is_base_of_v<std::bidirectional_iterator_tag,
typename std::iterator_traits<IterT>::iterator_category>,
std::bidirectional_iterator_tag, std::forward_iterator_tag>

A type alias which is std::bidirectional_iterator_tag if the category of IterT derives from it, and std::forward_iterator_tag otherwise.

Definition at line 529 of file STLExtras.h.

◆ has_array

template<typename... Types>
using llvm::detail::has_array = is_array<typename last_type<int, Types...>::type>

A type trait whose value field is true if the last type is a BCArray (of any element kind).

Definition at line 350 of file BitcodeConvenience.h.

◆ has_blob

template<typename... Types>
using llvm::detail::has_blob = std::is_same<BCBlob, typename last_type<int, Types...>::type>

A type trait whose value field is true if the last type is BCBlob.

Definition at line 332 of file BitcodeConvenience.h.

◆ has_hoist_check

template<class BlockT>
using llvm::detail::has_hoist_check = decltype(&BlockT::isLegalToHoistInto)

Definition at line 187 of file GenericLoopInfoImpl.h.

◆ has_number_t

template<typename T>
using llvm::detail::has_number_t
Initial value:
std::declval<typename GraphTraits<T>::NodeRef>()))
typename GraphType::UnknownGraphTypeError NodeRef
Definition GraphTraits.h:95

Definition at line 100 of file GraphTraits.h.

◆ has_sizeof

template<typename T>
using llvm::detail::has_sizeof = decltype(sizeof(T))

Definition at line 2595 of file STLExtras.h.

◆ integerPart

Definition at line 374 of file APFloat.h.

◆ IterOfRange

template<typename RangeT>
using llvm::detail::IterOfRange = decltype(adl_begin(std::declval<RangeT &>()))

Definition at line 126 of file ADL.h.

◆ opStatus

Definition at line 377 of file APFloat.h.

◆ roundingMode

◆ SelfType

template<typename OptionalDerived, typename Default>
using llvm::detail::SelfType
Initial value:
std::conditional_t<std::is_same_v<OptionalDerived, void>,
Default, OptionalDerived>
@ Default
The result values are uniform if and only if all operands are uniform.
Definition Uniformity.h:20

A helper to derive the type to use with Self for cast traits, when the provided CRTP derived type is allowed to be void.

Definition at line 321 of file Casting.h.

◆ SmallDenseSet

template<typename ValueT, unsigned InlineBuckets, typename ValueInfoT>
using llvm::detail::SmallDenseSet
Initial value:

Definition at line 259 of file DenseSet.h.

◆ sort_trivially_copyable

template<typename T>
using llvm::detail::sort_trivially_copyable
Initial value:
std::conjunction<
std::is_pointer<T>,
std::is_trivially_copyable<typename std::iterator_traits<T>::value_type>>

Definition at line 1616 of file STLExtras.h.

◆ uninitializedTag

◆ ValueOfRange

template<typename RangeT>
using llvm::detail::ValueOfRange
Initial value:
std::remove_reference_t<decltype(*adl_begin(std::declval<RangeT &>()))>

Definition at line 129 of file ADL.h.

◆ zip_traits

template<typename ZipType, typename ReferenceTupleType, typename... Iters>
using llvm::detail::zip_traits
Initial value:
ZipType,
std::common_type_t<
std::bidirectional_iterator_tag,
typename std::iterator_traits<Iters>::iterator_category...>,
ReferenceTupleType,
typename std::iterator_traits<
std::tuple_element_t<0, std::tuple<Iters...>>>::difference_type,
ReferenceTupleType *, ReferenceTupleType>
CRTP base class which implements the entire standard iterator facade in terms of a minimal subset of ...
Definition iterator.h:80

Definition at line 663 of file STLExtras.h.

Function Documentation

◆ abs()

SlowDynamicAPInt llvm::detail::abs ( const SlowDynamicAPInt & X)

Redeclarations of friend declarations above to make it discoverable by lookups.

Definition at line 190 of file SlowDynamicAPInt.cpp.

References X.

Referenced by frexp(), lcm(), and llvm::detail::DoubleAPFloat::roundToIntegral().

◆ all_of_zip_predicate_first()

template<typename Predicate, typename... Args>
bool llvm::detail::all_of_zip_predicate_first ( Predicate && P,
Args &&... args )

Definition at line 2470 of file STLExtras.h.

References args, P, and llvm::zip().

Referenced by all_of_zip_predicate_last().

◆ all_of_zip_predicate_last()

template<typename... ArgsThenPredicate, size_t... InputIndexes>
bool llvm::detail::all_of_zip_predicate_last ( std::tuple< ArgsThenPredicate... > argsThenPredicate,
std::index_sequence< InputIndexes... >  )

Definition at line 2485 of file STLExtras.h.

References all_of_zip_predicate_first(), and unit< Period >::value.

Referenced by llvm::all_of_zip().

◆ canTypeFitValue()

template<typename T, typename U>
bool llvm::detail::canTypeFitValue ( const U Value)

Definition at line 113 of file Sequence.h.

References llvm::Value.

Referenced by llvm::detail::CheckedInt::from(), and llvm::detail::CheckedInt::to().

◆ ceilDiv()

SlowDynamicAPInt llvm::detail::ceilDiv ( const SlowDynamicAPInt & LHS,
const SlowDynamicAPInt & RHS )

◆ combineHashValue()

◆ deref_or_none()

template<typename Iter>
auto llvm::detail::deref_or_none ( const Iter & I,
const Iter & End ) -> std::optional< std::remove_const_t<std::remove_reference_t<decltype(*I)>>>

Definition at line 872 of file STLExtras.h.

References I.

◆ emitOps() [1/2]

template<typename FieldTy>
void llvm::detail::emitOps ( llvm::BitCodeAbbrev & abbrev)
static

Attaches the last field to an abbreviation.

This is the base case for emitOps.

See also
BCRecordLayout::emitAbbrev

Definition at line 166 of file BitcodeConvenience.h.

Referenced by llvm::BCGenericRecordLayout< BCLiteral< RecordCode >, Fields... >::emitAbbrev(), and emitOps().

◆ emitOps() [2/2]

template<typename FieldTy, typename Next, typename... Rest>
void llvm::detail::emitOps ( llvm::BitCodeAbbrev & abbrev)
static

Attaches fields to an abbreviation.

This is the recursive case for emitOps.

See also
BCRecordLayout::emitAbbrev

Definition at line 176 of file BitcodeConvenience.h.

References emitOps(), and llvm::Next.

◆ fastTwoSum()

std::pair< APFloat, APFloat > llvm::detail::fastTwoSum ( APFloat X,
APFloat Y )
static

Definition at line 4884 of file APFloat.cpp.

References llvm::APFloat::getZero(), llvm::Hi, llvm::Lo, X, and Y.

Referenced by llvm::detail::DoubleAPFloat::roundToIntegral().

◆ floorDiv()

SlowDynamicAPInt llvm::detail::floorDiv ( const SlowDynamicAPInt & LHS,
const SlowDynamicAPInt & RHS )

◆ frexp() [1/3]

◆ frexp() [2/3]

◆ frexp() [3/3]

IEEEFloat llvm::detail::frexp ( const IEEEFloat & Val,
int & Exp,
roundingMode RM )

Definition at line 4797 of file APFloat.cpp.

◆ gcd()

Definition at line 217 of file SlowDynamicAPInt.cpp.

References A(), assert(), B(), getMaxWidth(), and llvm::APIntOps::GreatestCommonDivisor().

Referenced by lcm().

◆ getAnalysisResult()

template<typename PassT, typename IRUnitT, typename... AnalysisArgTs, typename... MainArgTs>
PassT::Result llvm::detail::getAnalysisResult ( AnalysisManager< IRUnitT, AnalysisArgTs... > & AM,
IRUnitT & IR,
std::tuple< MainArgTs... > Args )

Helper for partial unpacking of extra arguments in getAnalysisResult.

Arguments passed in tuple come from PassManager, so they might have extra arguments after those AnalysisManager's ExtraArgTs ones that we need to pass to getResult.

Definition at line 138 of file PassManager.h.

References getAnalysisResultUnpackTuple(), and IR.

Referenced by llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >::run().

◆ getAnalysisResultUnpackTuple()

template<typename PassT, typename IRUnitT, typename AnalysisManagerT, typename... ArgTs, size_t... Ns>
PassT::Result llvm::detail::getAnalysisResultUnpackTuple ( AnalysisManagerT & AM,
IRUnitT & IR,
std::tuple< ArgTs... > Args,
std::index_sequence< Ns... >  )

Actual unpacker of extra arguments in getAnalysisResult, passes only those tuple arguments that are mentioned in index_sequence.

Definition at line 123 of file PassManager.h.

References IR.

Referenced by getAnalysisResult().

◆ hash_value() [1/3]

hash_code llvm::detail::hash_value ( const DoubleAPFloat & Arg)

Definition at line 5351 of file APFloat.cpp.

◆ hash_value() [2/3]

hash_code llvm::detail::hash_value ( const IEEEFloat & Arg)

Note that the use of hash codes for floating point values is in general frought with peril. Equality is hard to define for these values. For example, should negative and positive zero hash to different codes? Are they equal or not? This hash value implementation specifically emphasizes producing different codes for different inputs in order to be used in canonicalization and memoization. As such, equality is bitwiseIsEqual, and 0 != -0.

Definition at line 3508 of file APFloat.cpp.

Referenced by llvm::detail::DoubleAPFloat::hash_value, hash_value(), and llvm::hash_value().

◆ hash_value() [3/3]

hash_code llvm::detail::hash_value ( const SlowDynamicAPInt & X)

Definition at line 26 of file SlowDynamicAPInt.cpp.

References hash_value(), and X.

◆ ilogb() [1/2]

int llvm::detail::ilogb ( const DoubleAPFloat & Arg)

Definition at line 5824 of file APFloat.cpp.

◆ ilogb() [2/2]

int llvm::detail::ilogb ( const IEEEFloat & Arg)

Definition at line 4758 of file APFloat.cpp.

Referenced by frexp(), and llvm::detail::DoubleAPFloat::ilogb.

◆ isLegalToHoistInto()

template<class BlockT>
bool llvm::detail::isLegalToHoistInto ( BlockT * Block)

SFINAE functions that dispatch to the isLegalToHoistInto member function or return false, if it doesn't exist.

Definition at line 194 of file GenericLoopInfoImpl.h.

References llvm::Block.

Referenced by llvm::LoopBase< BlockT, LoopT >::getLoopPreheader().

◆ isPresent()

◆ join_impl() [1/2]

template<typename IteratorT>
std::string llvm::detail::join_impl ( IteratorT Begin,
IteratorT End,
StringRef Separator,
std::forward_iterator_tag  )
inline

Definition at line 437 of file StringExtras.h.

References assert(), I, and llvm::StringRef::size().

◆ join_impl() [2/2]

template<typename IteratorT>
std::string llvm::detail::join_impl ( IteratorT Begin,
IteratorT End,
StringRef Separator,
std::input_iterator_tag  )
inline

Definition at line 422 of file StringExtras.h.

Referenced by llvm::join().

◆ join_items_impl() [1/3]

template<typename Sep>
void llvm::detail::join_items_impl ( std::string & Result,
Sep Separator )
inline

Definition at line 459 of file StringExtras.h.

Referenced by llvm::join_items(), and join_items_impl().

◆ join_items_impl() [2/3]

template<typename Sep, typename Arg>
void llvm::detail::join_items_impl ( std::string & Result,
Sep Separator,
const Arg & Item )
inline

Definition at line 462 of file StringExtras.h.

◆ join_items_impl() [3/3]

template<typename Sep, typename Arg1, typename... Args>
void llvm::detail::join_items_impl ( std::string & Result,
Sep Separator,
const Arg1 & A1,
Args &&... Items )
inline

Definition at line 468 of file StringExtras.h.

References join_items_impl().

◆ join_items_size()

template<typename... Args>
size_t llvm::detail::join_items_size ( Args &&... Items)
inline

Definition at line 482 of file StringExtras.h.

References join_one_item_size().

Referenced by llvm::join_items().

◆ join_one_item_size() [1/3]

size_t llvm::detail::join_one_item_size ( char )
inline

Definition at line 475 of file StringExtras.h.

Referenced by llvm::join_items(), and join_items_size().

◆ join_one_item_size() [2/3]

size_t llvm::detail::join_one_item_size ( const char * S)
inline

Definition at line 476 of file StringExtras.h.

◆ join_one_item_size() [3/3]

template<typename T>
size_t llvm::detail::join_one_item_size ( const T & Str)
inline

Definition at line 478 of file StringExtras.h.

References T.

◆ lcm()

Returns the least common multiple of A and B.

Definition at line 226 of file SlowDynamicAPInt.cpp.

References A(), abs(), B(), gcd(), X, and Y.

◆ mod()

SlowDynamicAPInt llvm::detail::mod ( const SlowDynamicAPInt & LHS,
const SlowDynamicAPInt & RHS )

Returns the remainder of dividing LHS by RHS.

is always non-negative.

The RHS is always expected to be positive, and the result is always non-negative.

Definition at line 211 of file SlowDynamicAPInt.cpp.

References assert().

◆ next_or_end()

template<typename Iter>
Iter llvm::detail::next_or_end ( const Iter & I,
const Iter & End )

Definition at line 865 of file STLExtras.h.

References I.

◆ operator!=() [1/4]

template<typename ValueT, typename MapTy, typename ValueInfoT>
bool llvm::detail::operator!= ( const DenseSetImpl< ValueT, MapTy, ValueInfoT > & LHS,
const DenseSetImpl< ValueT, MapTy, ValueInfoT > & RHS )

Inequality comparison for DenseSet.

Equivalent to !(LHS == RHS). See operator== for performance notes.

Definition at line 248 of file DenseSet.h.

References LHS, and RHS.

◆ operator!=() [2/4]

template<typename OtherT, typename DerivedT, typename BaseT, typename T, typename PointerT, typename ReferenceT>
bool llvm::detail::operator!= ( const indexed_accessor_range_base< DerivedT, BaseT, T, PointerT, ReferenceT > & lhs,
const OtherT & rhs )

Definition at line 1335 of file STLExtras.h.

References T.

◆ operator!=() [3/4]

bool llvm::detail::operator!= ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 52 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator!=() [4/4]

bool llvm::detail::operator!= ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 86 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator%() [1/2]

SlowDynamicAPInt llvm::detail::operator% ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 79 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator%() [2/2]

SlowDynamicAPInt llvm::detail::operator% ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 113 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator%=()

SlowDynamicAPInt & llvm::detail::operator%= ( SlowDynamicAPInt & A,
int64_t B )

Definition at line 45 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator*() [1/2]

SlowDynamicAPInt llvm::detail::operator* ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 73 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator*() [2/2]

SlowDynamicAPInt llvm::detail::operator* ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 107 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator*=()

SlowDynamicAPInt & llvm::detail::operator*= ( SlowDynamicAPInt & A,
int64_t B )

Definition at line 39 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator+() [1/2]

SlowDynamicAPInt llvm::detail::operator+ ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 67 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator+() [2/2]

SlowDynamicAPInt llvm::detail::operator+ ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 101 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator+=()

SlowDynamicAPInt & llvm::detail::operator+= ( SlowDynamicAPInt & A,
int64_t B )

Convenience operator overloads for int64_t.


Convenience operator overloads for int64_t.

Definition at line 33 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator-() [1/2]

SlowDynamicAPInt llvm::detail::operator- ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 70 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator-() [2/2]

SlowDynamicAPInt llvm::detail::operator- ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 104 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator-=()

SlowDynamicAPInt & llvm::detail::operator-= ( SlowDynamicAPInt & A,
int64_t B )

Definition at line 36 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator/() [1/2]

SlowDynamicAPInt llvm::detail::operator/ ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 76 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator/() [2/2]

SlowDynamicAPInt llvm::detail::operator/ ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 110 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator/=()

SlowDynamicAPInt & llvm::detail::operator/= ( SlowDynamicAPInt & A,
int64_t B )

Definition at line 42 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator<() [1/2]

bool llvm::detail::operator< ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 58 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator<() [2/2]

bool llvm::detail::operator< ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 92 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator<<()

raw_ostream & llvm::detail::operator<< ( raw_ostream & OS,
const SlowDynamicAPInt & X )
inline

Definition at line 89 of file SlowDynamicAPInt.h.

References X.

◆ operator<=() [1/2]

bool llvm::detail::operator<= ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 61 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator<=() [2/2]

bool llvm::detail::operator<= ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 95 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator==() [1/4]

template<typename ValueT, typename MapTy, typename ValueInfoT>
bool llvm::detail::operator== ( const DenseSetImpl< ValueT, MapTy, ValueInfoT > & LHS,
const DenseSetImpl< ValueT, MapTy, ValueInfoT > & RHS )

Equality comparison for DenseSet.

Iterates over elements of LHS confirming that each element is also a member of RHS, and that RHS contains no additional values. Equivalent to N calls to RHS.count. Amortized complexity is linear, worst case is O(N^2) (if every hash collides).

Definition at line 232 of file DenseSet.h.

References E(), LHS, and RHS.

◆ operator==() [2/4]

template<typename OtherT, typename DerivedT, typename BaseT, typename T, typename PointerT, typename ReferenceT>
bool llvm::detail::operator== ( const indexed_accessor_range_base< DerivedT, BaseT, T, PointerT, ReferenceT > & lhs,
const OtherT & rhs )

Compare this range with another.

FIXME: Make me a member function instead of friend when it works in C++20.

Definition at line 1327 of file STLExtras.h.

References T.

◆ operator==() [3/4]

bool llvm::detail::operator== ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 49 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator==() [4/4]

bool llvm::detail::operator== ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 83 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator>() [1/2]

bool llvm::detail::operator> ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 55 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator>() [2/2]

bool llvm::detail::operator> ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 89 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator>=() [1/2]

bool llvm::detail::operator>= ( const SlowDynamicAPInt & A,
int64_t B )

Definition at line 64 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ operator>=() [2/2]

bool llvm::detail::operator>= ( int64_t A,
const SlowDynamicAPInt & B )

Definition at line 98 of file SlowDynamicAPInt.cpp.

References A(), and B().

◆ printBumpPtrAllocatorStats()

void llvm::detail::printBumpPtrAllocatorStats ( unsigned NumSlabs,
size_t BytesAllocated,
size_t TotalMemory )

◆ PrintTo() [1/2]

void llvm::detail::PrintTo ( const ErrorHolder & Err,
std::ostream * Out )
inline

Definition at line 38 of file SupportHelpers.h.

References Info.

Referenced by PrintTo().

◆ PrintTo() [2/2]

template<typename T>
void llvm::detail::PrintTo ( const ExpectedHolder< T > & Item,
std::ostream * Out )

◆ resolveReferencedType() [1/2]

◆ resolveReferencedType() [2/2]

template<typename DieType>
DieType llvm::detail::resolveReferencedType ( DieType D,
typename DieType::DWARFFormValue F )

Definition at line 151 of file DWARFTypePrinter.h.

References D(), and F.

◆ reverse_if()

template<bool B, typename Range>
auto llvm::detail::reverse_if ( Range && R)

◆ reverse_if_helper() [1/2]

template<typename Range>
auto llvm::detail::reverse_if_helper ( Range && R,
std::bool_constant< false >  )

Definition at line 37 of file CFGDiff.h.

References Range.

Referenced by reverse_if().

◆ reverse_if_helper() [2/2]

template<typename Range>
auto llvm::detail::reverse_if_helper ( Range && R,
std::bool_constant< true >  )

Definition at line 42 of file CFGDiff.h.

References Range, and llvm::reverse().

◆ scalbn() [1/3]

DoubleAPFloat llvm::detail::scalbn ( const DoubleAPFloat & Arg,
int Exp,
APFloat::roundingMode RM )

Definition at line 5841 of file APFloat.cpp.

References assert(), scalbn(), and llvm::semPPCDoubleDouble.

◆ scalbn() [2/3]

LLVM_ABI DoubleAPFloat llvm::detail::scalbn ( const DoubleAPFloat & Arg,
int Exp,
roundingMode RM )

Definition at line 5841 of file APFloat.cpp.

References assert(), scalbn(), and llvm::semPPCDoubleDouble.

◆ scalbn() [3/3]

IEEEFloat llvm::detail::scalbn ( IEEEFloat X,
int Exp,
roundingMode RoundingMode )

Definition at line 4776 of file APFloat.cpp.

Referenced by frexp(), and scalbn().

◆ set_intersects_impl()

template<class S1Ty, class S2Ty>
bool llvm::detail::set_intersects_impl ( const S1Ty & S1,
const S2Ty & S2 )

Definition at line 163 of file SetOperations.h.

References E(), and S1.

Referenced by llvm::set_intersects().

◆ TakeError()

llvm::detail::ErrorHolder llvm::detail::TakeError ( llvm::Error Err)

Definition at line 13 of file Error.cpp.

References llvm::handleAllErrors().

Referenced by TakeExpected().

◆ TakeExpected() [1/2]

template<typename T>
ExpectedHolder< T > llvm::detail::TakeExpected ( Expected< T > && Exp)

Definition at line 26 of file Error.h.

References TakeExpected().

◆ TakeExpected() [2/2]

template<typename T>
ExpectedHolder< T > llvm::detail::TakeExpected ( Expected< T > & Exp)

Definition at line 22 of file Error.h.

References TakeError().

Referenced by TakeExpected().

◆ tcSetLeastSignificantBits()

void llvm::detail::tcSetLeastSignificantBits ( APInt::WordType * dst,
unsigned parts,
unsigned bits )
static

◆ to_float()

template<typename N>
bool llvm::detail::to_float ( const Twine & T,
N & Num,
N(* StrTo )(const char *, char **) )
inline

Definition at line 298 of file StringExtras.h.

References llvm::StringRef::data(), N, and T.

Referenced by llvm::to_float(), llvm::to_float(), and llvm::to_float().

◆ toString()

template<typename DWARFFormValueType>
const char * llvm::detail::toString ( std::optional< DWARFFormValueType > F)

◆ unwrapValue()

template<typename T>
decltype(auto) llvm::detail::unwrapValue ( T & t)
inline

Variable Documentation

◆ cmpEqual

◆ cmpGreaterThan

◆ cmpLessThan

cmpResult llvm::detail::cmpLessThan = APFloatBase::cmpLessThan
staticconstexpr

◆ cmpUnordered

cmpResult llvm::detail::cmpUnordered = APFloatBase::cmpUnordered
staticconstexpr

Definition at line 393 of file APFloat.h.

Referenced by llvm::detail::IEEEFloat::compare().

◆ fcInfinity

◆ fcNaN

◆ fcNormal

◆ fcZero

◆ HasFreeFunctionRBegin

template<typename Range>
bool llvm::detail::HasFreeFunctionRBegin
staticconstexpr
Initial value:
=
typename detail::detector< void, Op, Args... >::value_t is_detected
Detects if a given trait holds for some set of arguments 'Args'.

Definition at line 402 of file STLExtras.h.

Referenced by llvm::reverse().

◆ HasFreeFunctionSize

template<typename Range>
bool llvm::detail::HasFreeFunctionSize
staticconstexpr
Initial value:

Definition at line 1672 of file STLExtras.h.

Referenced by llvm::range_size().

◆ HasMemberContains

template<typename Range, typename Element>
bool llvm::detail::HasMemberContains
staticconstexpr

◆ HasMemberEraseIter

template<typename Set>
bool llvm::detail::HasMemberEraseIter
staticconstexpr
Initial value:

Definition at line 36 of file SetOperations.h.

Referenced by llvm::set_subtract().

◆ HasMemberFind

template<typename Range, typename Element>
bool llvm::detail::HasMemberFind
staticconstexpr
Initial value:

Definition at line 1866 of file STLExtras.h.

Referenced by llvm::is_contained().

◆ HasMemberRemoveIf

template<typename Set, typename Fn>
bool llvm::detail::HasMemberRemoveIf
staticconstexpr

◆ integerPartWidth

unsigned llvm::detail::integerPartWidth = APFloatBase::integerPartWidth
staticconstexpr

Definition at line 389 of file APFloat.h.

Referenced by llvm::detail::IEEEFloat::makeLargest().

◆ opDivByZero

opStatus llvm::detail::opDivByZero = APFloatBase::opDivByZero
staticconstexpr

Definition at line 396 of file APFloat.h.

Referenced by llvm::detail::IEEEFloat::remainder().

◆ opInexact

opStatus llvm::detail::opInexact = APFloatBase::opInexact
staticconstexpr

◆ opInvalidOp

◆ opOK

◆ opOverflow

opStatus llvm::detail::opOverflow = APFloatBase::opOverflow
staticconstexpr

Definition at line 397 of file APFloat.h.

◆ opUnderflow

opStatus llvm::detail::opUnderflow = APFloatBase::opUnderflow
staticconstexpr

Definition at line 398 of file APFloat.h.

Referenced by llvm::detail::IEEEFloat::fusedMultiplyAdd().

◆ rmNearestTiesToAway

roundingMode llvm::detail::rmNearestTiesToAway
staticconstexpr
Initial value:
=
static constexpr roundingMode rmNearestTiesToAway
Definition APFloat.h:309

Definition at line 384 of file APFloat.h.

Referenced by frexp(), and llvm::detail::DoubleAPFloat::roundToIntegral().

◆ rmNearestTiesToEven

◆ rmTowardNegative

roundingMode llvm::detail::rmTowardNegative = APFloatBase::rmTowardNegative
staticconstexpr

◆ rmTowardPositive

roundingMode llvm::detail::rmTowardPositive = APFloatBase::rmTowardPositive
staticconstexpr

Definition at line 387 of file APFloat.h.

Referenced by frexp(), and llvm::detail::DoubleAPFloat::roundToIntegral().

◆ rmTowardZero

roundingMode llvm::detail::rmTowardZero = APFloatBase::rmTowardZero
staticconstexpr

◆ uninitialized

uninitializedTag llvm::detail::uninitialized = APFloatBase::uninitialized
staticconstexpr

◆ UniqueFunctionBase< R, P... >::CallbacksHolder< CallableT, CalledAsT, Enable >::Callbacks

template<typename CallableT, typename CalledAsT, typename Enable>
UniqueFunctionBase<R,P...>::NonTrivialCallbacks llvm::detail::UniqueFunctionBase< R, P... >::CallbacksHolder< CallableT, CalledAsT, Enable >::Callbacks
Initial value:
= {
&CallImpl<CalledAsT>, &MoveImpl<CallableT>, &DestroyImpl<CallableT>}

Definition at line 354 of file FunctionExtras.h.

◆ UniqueFunctionBase< R, P... >::CallbacksHolder< CallableT, CalledAsT, EnableIfTrivial< CallableT > >::Callbacks

template<typename CallableT, typename CalledAsT>
UniqueFunctionBase<R,P...>::TrivialCallback llvm::detail::UniqueFunctionBase< R, P... >::CallbacksHolder< CallableT, CalledAsT, EnableIfTrivial< CallableT > >::Callbacks
Initial value:
{
&CallImpl<CalledAsT>}

Definition at line 361 of file FunctionExtras.h.

◆ unit< Period >::value

template<typename Period>
const char llvm::detail::unit< Period >::value[] = ""

Definition at line 104 of file Chrono.h.

Referenced by all_of_zip_predicate_last(), and llvm::detail::IEEEFloat::IEEEFloat().