|
LLVM
4.0.0
|
Implementation details of the pass manager interfaces. More...
Classes | |
| class | IEEEFloat |
| class | DoubleAPFloat |
| struct | DenseMapPair |
| struct | DenseSetEmpty |
| class | DenseSetPair |
| class | DenseSetImpl |
| Base class for DenseSet and DenseSmallSet. More... | |
| struct | PointerSumTypeHelper |
A helper template for implementing PointerSumType. More... | |
| class | scope_exit |
| class | value_sequence_iterator |
| class | zip_first |
| class | zip_shortest |
| class | zippy |
| class | concat_range |
| Helper to store a sequence of ranges being concatenated and access them. More... | |
| class | enumerator_impl |
| class | PtrUseVisitorBase |
Implementation of non-dependent functionality for PtrUseVisitor. More... | |
| 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 | AnalysisResultConcept |
| Abstract concept of an analysis result. More... | |
| class | ResultHasInvalidateMethod |
SFINAE metafunction for computing whether ResultT provides an invalidate member function. More... | |
| struct | AnalysisResultModel |
| Wrapper to model the analysis result concept. More... | |
| struct | AnalysisResultModel< IRUnitT, PassT, ResultT, PreservedAnalysesT, InvalidatorT, false > |
Specialization of AnalysisResultModel which provides the default invalidate functionality. More... | |
| struct | AnalysisResultModel< IRUnitT, PassT, ResultT, PreservedAnalysesT, InvalidatorT, true > |
Specialization of AnalysisResultModel which delegates invalidate handling to ResultT. More... | |
| struct | AnalysisPassConcept |
| Abstract concept of an analysis pass. More... | |
| struct | AnalysisPassModel |
| Wrapper to model the analysis pass concept. More... | |
| class | AlignerImpl |
| union | SizerImpl |
| class | AlignAdapter |
| class | PadAdapter |
| class | RepeatAdapter |
| struct | use_integral_formatter |
| struct | use_char_formatter |
| struct | is_cstring |
| struct | use_string_formatter |
| struct | use_pointer_formatter |
| struct | use_double_formatter |
| class | HelperFunctions |
| struct | range_item_has_provider |
| class | format_adapter |
| class | provider_format_adapter |
| class | missing_format_adapter |
| class | has_FormatProvider |
| struct | uses_format_member |
| struct | uses_format_provider |
| struct | uses_missing_provider |
| struct | DominatorTreeBaseTraits |
| struct | TrailingZerosCounter |
| struct | LeadingZerosCounter |
| struct | PopulationCounter |
| struct | PopulationCounter< T, 8 > |
| class | OptionKey |
| struct | ConstantLog2 |
| A tiny meta function to compute the log2 of a compile time constant. More... | |
| struct | ConstantLog2< 1 > |
Typedefs | |
| template<typename RangeT > | |
| using | IterOfRange = decltype(std::begin(std::declval< RangeT & >())) |
| template<typename IterT > | |
| using | IterValue = typename std::iterator_traits< IterT >::value_type |
Functions | |
| hash_code | hash_value (const IEEEFloat &Arg) |
| int | ilogb (const IEEEFloat &Arg) |
| IEEEFloat | scalbn (IEEEFloat X, int Exp, IEEEFloat::roundingMode) |
| IEEEFloat | frexp (const IEEEFloat &Val, int &Exp, IEEEFloat::roundingMode RM) |
| template<typename F , typename Tuple , std::size_t... I> | |
| auto | apply_tuple_impl (F &&f, Tuple &&t, index_sequence< I...>) -> decltype(std::forward< F >(f)(std::get< I >(std::forward< Tuple >(t))...)) |
| 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 C) |
| size_t | join_one_item_size (const char *S) |
| template<typename T > | |
| size_t | join_one_item_size (const T &Str) |
| size_t | join_items_size () |
| template<typename A1 > | |
| size_t | join_items_size (const A1 &A) |
| template<typename A1 , typename... Args> | |
| size_t | join_items_size (const A1 &A, Args &&...Items) |
| void | printBumpPtrAllocatorStats (unsigned NumSlabs, size_t BytesAllocated, size_t TotalMemory) |
| template<typename T > | |
| std::enable_if < uses_format_member< T > ::value, T >::type | build_format_adapter (T &&Item) |
| template<typename T > | |
| std::enable_if < uses_format_provider< T > ::value, provider_format_adapter< T > >::type | build_format_adapter (T &&Item) |
| template<typename T > | |
| std::enable_if < uses_missing_provider< T > ::value, missing_format_adapter< T > >::type | build_format_adapter (T &&Item) |
| assert &[0] | Floats ()==&semPPCDoubleDoubleImpl||&Floats[0].getSemantics()==&semIEEEdouble |
Variables | |
| __pad0__ | |
Implementation details of the pass manager interfaces.
| using llvm::detail::IterOfRange = typedef decltype(std::begin(std::declval<RangeT &>())) |
Definition at line 45 of file STLExtras.h.
| using llvm::detail::IterValue = typedef typename std::iterator_traits<IterT>::value_type |
Definition at line 315 of file FormatProviders.h.
| auto llvm::detail::apply_tuple_impl | ( | F && | f, |
| Tuple && | t, | ||
| index_sequence< I...> | |||
| ) | -> decltype(std::forward<F>(f)(std::get<I>(std::forward<Tuple>(t))...)) |
Definition at line 977 of file STLExtras.h.
References t.
| std::enable_if<uses_format_member<T>::value, T>::type llvm::detail::build_format_adapter | ( | T && | Item | ) |
Definition at line 92 of file FormatVariadicDetails.h.
Referenced by llvm::detail::AlignAdapter< T >::format(), llvm::detail::PadAdapter< T >::format(), llvm::detail::RepeatAdapter< T >::format(), llvm::format_provider< llvm::iterator_range< IterT > >::format(), and llvm::formatv().
| std::enable_if<uses_format_provider<T>::value, provider_format_adapter<T> >::type llvm::detail::build_format_adapter | ( | T && | Item | ) |
Definition at line 99 of file FormatVariadicDetails.h.
| std::enable_if<uses_missing_provider<T>::value, missing_format_adapter<T> >::type llvm::detail::build_format_adapter | ( | T && | Item | ) |
Definition at line 106 of file FormatVariadicDetails.h.
| assert&[0] llvm::detail::Floats | ( | ) |
Definition at line 3839 of file APFloat.cpp.
References llvm::APFloatBase::IEK_Inf, llvm::APFloatBase::IEK_NaN, llvm::APFloatBase::IEK_Zero, ilogb(), llvm::detail::IEEEFloat::makeQuiet(), and scalbn().
Referenced by llvm::inferLibFuncAttributes().
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 2800 of file APFloat.cpp.
References llvm::hash_combine(), llvm::hash_combine_range(), llvm::detail::IEEEFloat::isFiniteNonZero(), llvm::detail::IEEEFloat::isNaN(), and llvm::fltSemantics::precision.
| int llvm::detail::ilogb | ( | const IEEEFloat & | Arg | ) |
Because the radix of APFloat is 2, this is equivalent to floor(log2(x)). For special APFloat values, this returns special error codes:
NaN -> IEK_NaN 0 -> IEK_Zero Inf -> IEK_Inf
Definition at line 3800 of file APFloat.cpp.
References llvm::detail::IEEEFloat::getSemantics(), llvm::APFloatBase::IEK_Inf, llvm::APFloatBase::IEK_NaN, llvm::APFloatBase::IEK_Zero, llvm::detail::IEEEFloat::isDenormal(), llvm::detail::IEEEFloat::isInfinity(), llvm::detail::IEEEFloat::isNaN(), llvm::detail::IEEEFloat::isZero(), llvm::lfExactlyZero, llvm::fltSemantics::precision, and llvm::APFloatBase::rmNearestTiesToEven.
Referenced by frexp().
|
inline |
|
inline |
Definition at line 176 of file StringExtras.h.
References llvm::WebAssembly::End, I, Separator, and llvm::StringRef::size().
|
inline |
Definition at line 195 of file StringExtras.h.
Referenced by llvm::join_items(), and join_items_impl().
|
inline |
Definition at line 198 of file StringExtras.h.
|
inline |
Definition at line 204 of file StringExtras.h.
References join_items_impl(), and Separator.
|
inline |
Definition at line 218 of file StringExtras.h.
Referenced by llvm::join_items(), and join_items_size().
|
inline |
Definition at line 220 of file StringExtras.h.
References join_one_item_size().
|
inline |
Definition at line 224 of file StringExtras.h.
References join_items_size(), and join_one_item_size().
|
inline |
Definition at line 211 of file StringExtras.h.
Referenced by llvm::join_items(), and join_items_size().
|
inline |
Definition at line 212 of file StringExtras.h.
Definition at line 214 of file StringExtras.h.
| void llvm::detail::printBumpPtrAllocatorStats | ( | unsigned | NumSlabs, |
| size_t | BytesAllocated, | ||
| size_t | TotalMemory | ||
| ) |
Definition at line 21 of file Allocator.cpp.
References llvm::errs().
Referenced by llvm::BumpPtrAllocatorImpl< MallocAllocator, 65536 >::PrintStats().
| IEEEFloat llvm::detail::scalbn | ( | IEEEFloat | X, |
| int | Exp, | ||
| IEEEFloat::roundingMode | RoundingMode | ||
| ) |
Definition at line 3818 of file APFloat.cpp.
References llvm::detail::IEEEFloat::getSemantics(), llvm::detail::IEEEFloat::isNaN(), llvm::lfExactlyZero, llvm::detail::IEEEFloat::makeQuiet(), llvm::fltSemantics::maxExponent, fuzzer::min(), llvm::fltSemantics::minExponent, llvm::fltSemantics::precision, and X.
Referenced by frexp().
| llvm::detail::__pad0__ |
Definition at line 3900 of file APFloat.cpp.
1.8.6