/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/ADT/IndexedMap.h
Line | Count | Source |
1 | | //===- llvm/ADT/IndexedMap.h - An index map implementation ------*- C++ -*-===// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | // |
9 | | // This file implements an indexed map. The index map template takes two |
10 | | // types. The first is the mapped type and the second is a functor |
11 | | // that maps its argument to a size_t. On instantiation a "null" value |
12 | | // can be provided to be used as a "does not exist" indicator in the |
13 | | // map. A member function grow() is provided that given the value of |
14 | | // the maximally indexed key (the argument of the functor) makes sure |
15 | | // the map has enough space for it. |
16 | | // |
17 | | //===----------------------------------------------------------------------===// |
18 | | |
19 | | #ifndef LLVM_ADT_INDEXEDMAP_H |
20 | | #define LLVM_ADT_INDEXEDMAP_H |
21 | | |
22 | | #include "llvm/ADT/SmallVector.h" |
23 | | #include "llvm/ADT/STLExtras.h" |
24 | | #include <cassert> |
25 | | |
26 | | namespace llvm { |
27 | | |
28 | | template <typename T, typename ToIndexT = identity<unsigned>> |
29 | | class IndexedMap { |
30 | | using IndexT = typename ToIndexT::argument_type; |
31 | | // Prefer SmallVector with zero inline storage over std::vector. IndexedMaps |
32 | | // can grow very large and SmallVector grows more efficiently as long as T |
33 | | // is trivially copyable. |
34 | | using StorageT = SmallVector<T, 0>; |
35 | | |
36 | | StorageT storage_; |
37 | | T nullVal_; |
38 | | ToIndexT toIndex_; |
39 | | |
40 | | public: |
41 | 3.95M | IndexedMap() : nullVal_(T()) {} llvm::IndexedMap<llvm::SmallVector<llvm::ARMLegalizerInfo::FCmpLibcallInfo, 2u>, llvm::identity<unsigned int> >::IndexedMap() Line | Count | Source | 41 | 14.9k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<unsigned int, llvm::identity<unsigned int> >::IndexedMap() Line | Count | Source | 41 | 1.09k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<std::__1::pair<llvm::VNInfo*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::MBB2NumberFunctor>::IndexedMap() Line | Count | Source | 41 | 1.67M | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 42.9k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<llvm::LiveVariables::VarInfo, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 35.3k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 527k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 527k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<std::__1::pair<unsigned int, llvm::SmallVector<unsigned int, 4u> >, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 527k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<llvm::LLT, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 527k | IndexedMap() : nullVal_(T()) {} |
RegAllocGreedy.cpp:llvm::IndexedMap<(anonymous namespace)::RAGreedy::RegInfo, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 33.8k | IndexedMap() : nullVal_(T()) {} |
llvm::IndexedMap<llvm::FunctionLoweringInfo::LiveOutInfo, llvm::VirtReg2IndexFunctor>::IndexedMap() Line | Count | Source | 41 | 45.1k | IndexedMap() : nullVal_(T()) {} |
|
42 | | |
43 | 109k | explicit IndexedMap(const T& val) : nullVal_(val) {} llvm::IndexedMap<int, llvm::VirtReg2IndexFunctor>::IndexedMap(int const&) Line | Count | Source | 43 | 37.8k | explicit IndexedMap(const T& val) : nullVal_(val) {} |
llvm::IndexedMap<unsigned int, llvm::VirtReg2IndexFunctor>::IndexedMap(unsigned int const&) Line | Count | Source | 43 | 71.9k | explicit IndexedMap(const T& val) : nullVal_(val) {} |
|
44 | | |
45 | 762M | typename StorageT::reference operator[](IndexT n) { |
46 | 762M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); |
47 | 762M | return storage_[toIndex_(n)]; |
48 | 762M | } llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 206M | typename StorageT::reference operator[](IndexT n) { | 46 | 206M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 206M | return storage_[toIndex_(n)]; | 48 | 206M | } |
llvm::IndexedMap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 100 | typename StorageT::reference operator[](IndexT n) { | 46 | 100 | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 100 | return storage_[toIndex_(n)]; | 48 | 100 | } |
llvm::IndexedMap<std::__1::pair<unsigned int, llvm::SmallVector<unsigned int, 4u> >, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 4.34M | typename StorageT::reference operator[](IndexT n) { | 46 | 4.34M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 4.34M | return storage_[toIndex_(n)]; | 48 | 4.34M | } |
llvm::IndexedMap<unsigned int, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 9.93M | typename StorageT::reference operator[](IndexT n) { | 46 | 9.93M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 9.93M | return storage_[toIndex_(n)]; | 48 | 9.93M | } |
llvm::IndexedMap<llvm::FunctionLoweringInfo::LiveOutInfo, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 1.94M | typename StorageT::reference operator[](IndexT n) { | 46 | 1.94M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 1.94M | return storage_[toIndex_(n)]; | 48 | 1.94M | } |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 195M | typename StorageT::reference operator[](IndexT n) { | 46 | 195M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 195M | return storage_[toIndex_(n)]; | 48 | 195M | } |
llvm::IndexedMap<llvm::SmallVector<llvm::ARMLegalizerInfo::FCmpLibcallInfo, 2u>, llvm::identity<unsigned int> >::operator[](unsigned int) Line | Count | Source | 45 | 62.3k | typename StorageT::reference operator[](IndexT n) { | 46 | 62.3k | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 62.3k | return storage_[toIndex_(n)]; | 48 | 62.3k | } |
llvm::IndexedMap<unsigned int, llvm::identity<unsigned int> >::operator[](unsigned int) Line | Count | Source | 45 | 19.7k | typename StorageT::reference operator[](IndexT n) { | 46 | 19.7k | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 19.7k | return storage_[toIndex_(n)]; | 48 | 19.7k | } |
llvm::IndexedMap<std::__1::pair<llvm::VNInfo*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::MBB2NumberFunctor>::operator[](llvm::MachineBasicBlock const*) Line | Count | Source | 45 | 87.3M | typename StorageT::reference operator[](IndexT n) { | 46 | 87.3M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 87.3M | return storage_[toIndex_(n)]; | 48 | 87.3M | } |
llvm::IndexedMap<llvm::LiveVariables::VarInfo, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 166M | typename StorageT::reference operator[](IndexT n) { | 46 | 166M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 166M | return storage_[toIndex_(n)]; | 48 | 166M | } |
llvm::IndexedMap<llvm::LLT, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 14.8M | typename StorageT::reference operator[](IndexT n) { | 46 | 14.8M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 14.8M | return storage_[toIndex_(n)]; | 48 | 14.8M | } |
llvm::IndexedMap<int, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 218k | typename StorageT::reference operator[](IndexT n) { | 46 | 218k | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 218k | return storage_[toIndex_(n)]; | 48 | 218k | } |
RegAllocGreedy.cpp:llvm::IndexedMap<(anonymous namespace)::RAGreedy::RegInfo, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) Line | Count | Source | 45 | 74.9M | typename StorageT::reference operator[](IndexT n) { | 46 | 74.9M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 47 | 74.9M | return storage_[toIndex_(n)]; | 48 | 74.9M | } |
|
49 | | |
50 | 1.29G | typename StorageT::const_reference operator[](IndexT n) const { |
51 | 1.29G | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); |
52 | 1.29G | return storage_[toIndex_(n)]; |
53 | 1.29G | } llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 814M | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 814M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 814M | return storage_[toIndex_(n)]; | 53 | 814M | } |
llvm::IndexedMap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 370 | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 370 | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 370 | return storage_[toIndex_(n)]; | 53 | 370 | } |
llvm::IndexedMap<llvm::LLT, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 131M | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 131M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 131M | return storage_[toIndex_(n)]; | 53 | 131M | } |
llvm::IndexedMap<std::__1::pair<unsigned int, llvm::SmallVector<unsigned int, 4u> >, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 94.4M | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 94.4M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 94.4M | return storage_[toIndex_(n)]; | 53 | 94.4M | } |
llvm::IndexedMap<unsigned int, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 74.3M | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 74.3M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 74.3M | return storage_[toIndex_(n)]; | 53 | 74.3M | } |
llvm::IndexedMap<int, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 369k | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 369k | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 369k | return storage_[toIndex_(n)]; | 53 | 369k | } |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 152M | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 152M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 152M | return storage_[toIndex_(n)]; | 53 | 152M | } |
llvm::IndexedMap<llvm::SmallVector<llvm::ARMLegalizerInfo::FCmpLibcallInfo, 2u>, llvm::identity<unsigned int> >::operator[](unsigned int) const Line | Count | Source | 50 | 132 | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 132 | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 132 | return storage_[toIndex_(n)]; | 53 | 132 | } |
llvm::IndexedMap<unsigned int, llvm::identity<unsigned int> >::operator[](unsigned int) const Line | Count | Source | 50 | 6.46k | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 6.46k | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 6.46k | return storage_[toIndex_(n)]; | 53 | 6.46k | } |
RegAllocGreedy.cpp:llvm::IndexedMap<(anonymous namespace)::RAGreedy::RegInfo, llvm::VirtReg2IndexFunctor>::operator[](unsigned int) const Line | Count | Source | 50 | 26.7M | typename StorageT::const_reference operator[](IndexT n) const { | 51 | 26.7M | assert(toIndex_(n) < storage_.size() && "index out of bounds!"); | 52 | 26.7M | return storage_[toIndex_(n)]; | 53 | 26.7M | } |
|
54 | | |
55 | 1.05M | void reserve(typename StorageT::size_type s) { |
56 | 1.05M | storage_.reserve(s); |
57 | 1.05M | } llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::reserve(unsigned long) Line | Count | Source | 55 | 527k | void reserve(typename StorageT::size_type s) { | 56 | 527k | storage_.reserve(s); | 57 | 527k | } |
llvm::IndexedMap<std::__1::pair<unsigned int, llvm::SmallVector<unsigned int, 4u> >, llvm::VirtReg2IndexFunctor>::reserve(unsigned long) Line | Count | Source | 55 | 527k | void reserve(typename StorageT::size_type s) { | 56 | 527k | storage_.reserve(s); | 57 | 527k | } |
|
58 | | |
59 | 103M | void resize(typename StorageT::size_type s) { |
60 | 103M | storage_.resize(s, nullVal_); |
61 | 103M | } llvm::IndexedMap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 100 | void resize(typename StorageT::size_type s) { | 60 | 100 | storage_.resize(s, nullVal_); | 61 | 100 | } |
llvm::IndexedMap<llvm::FunctionLoweringInfo::LiveOutInfo, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 185k | void resize(typename StorageT::size_type s) { | 60 | 185k | storage_.resize(s, nullVal_); | 61 | 185k | } |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 1.38M | void resize(typename StorageT::size_type s) { | 60 | 1.38M | storage_.resize(s, nullVal_); | 61 | 1.38M | } |
llvm::IndexedMap<llvm::SmallVector<llvm::ARMLegalizerInfo::FCmpLibcallInfo, 2u>, llvm::identity<unsigned int> >::resize(unsigned long) Line | Count | Source | 59 | 4.45k | void resize(typename StorageT::size_type s) { | 60 | 4.45k | storage_.resize(s, nullVal_); | 61 | 4.45k | } |
llvm::IndexedMap<unsigned int, llvm::identity<unsigned int> >::resize(unsigned long) Line | Count | Source | 59 | 1.09k | void resize(typename StorageT::size_type s) { | 60 | 1.09k | storage_.resize(s, nullVal_); | 61 | 1.09k | } |
llvm::IndexedMap<std::__1::pair<llvm::VNInfo*, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::MBB2NumberFunctor>::resize(unsigned long) Line | Count | Source | 59 | 31.1M | void resize(typename StorageT::size_type s) { | 60 | 31.1M | storage_.resize(s, nullVal_); | 61 | 31.1M | } |
llvm::IndexedMap<llvm::LiveVariables::VarInfo, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 4.11M | void resize(typename StorageT::size_type s) { | 60 | 4.11M | storage_.resize(s, nullVal_); | 61 | 4.11M | } |
llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 22.7M | void resize(typename StorageT::size_type s) { | 60 | 22.7M | storage_.resize(s, nullVal_); | 61 | 22.7M | } |
llvm::IndexedMap<std::__1::pair<unsigned int, llvm::SmallVector<unsigned int, 4u> >, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 22.7M | void resize(typename StorageT::size_type s) { | 60 | 22.7M | storage_.resize(s, nullVal_); | 61 | 22.7M | } |
llvm::IndexedMap<llvm::LLT, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 14.1M | void resize(typename StorageT::size_type s) { | 60 | 14.1M | storage_.resize(s, nullVal_); | 61 | 14.1M | } |
llvm::IndexedMap<int, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 1.96M | void resize(typename StorageT::size_type s) { | 60 | 1.96M | storage_.resize(s, nullVal_); | 61 | 1.96M | } |
RegAllocGreedy.cpp:llvm::IndexedMap<(anonymous namespace)::RAGreedy::RegInfo, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 1.51M | void resize(typename StorageT::size_type s) { | 60 | 1.51M | storage_.resize(s, nullVal_); | 61 | 1.51M | } |
llvm::IndexedMap<unsigned int, llvm::VirtReg2IndexFunctor>::resize(unsigned long) Line | Count | Source | 59 | 3.90M | void resize(typename StorageT::size_type s) { | 60 | 3.90M | storage_.resize(s, nullVal_); | 61 | 3.90M | } |
|
62 | | |
63 | 6.00M | void clear() { |
64 | 6.00M | storage_.clear(); |
65 | 6.00M | } llvm::IndexedMap<unsigned int, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 1.50M | void clear() { | 64 | 1.50M | storage_.clear(); | 65 | 1.50M | } |
llvm::IndexedMap<llvm::LiveVariables::VarInfo, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 495k | void clear() { | 64 | 495k | storage_.clear(); | 65 | 495k | } |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 564k | void clear() { | 64 | 564k | storage_.clear(); | 65 | 564k | } |
llvm::IndexedMap<llvm::LLT, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 460k | void clear() { | 64 | 460k | storage_.clear(); | 65 | 460k | } |
llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 494k | void clear() { | 64 | 494k | storage_.clear(); | 65 | 494k | } |
llvm::IndexedMap<int, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 517k | void clear() { | 64 | 517k | storage_.clear(); | 65 | 517k | } |
RegAllocGreedy.cpp:llvm::IndexedMap<(anonymous namespace)::RAGreedy::RegInfo, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 1.45M | void clear() { | 64 | 1.45M | storage_.clear(); | 65 | 1.45M | } |
llvm::IndexedMap<llvm::FunctionLoweringInfo::LiveOutInfo, llvm::VirtReg2IndexFunctor>::clear() Line | Count | Source | 63 | 515k | void clear() { | 64 | 515k | storage_.clear(); | 65 | 515k | } |
|
66 | | |
67 | 213M | void grow(IndexT n) { |
68 | 213M | unsigned NewSize = toIndex_(n) + 1; |
69 | 213M | if (NewSize > storage_.size()) |
70 | 64.8M | resize(NewSize); |
71 | 213M | } llvm::IndexedMap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 100 | void grow(IndexT n) { | 68 | 100 | unsigned NewSize = toIndex_(n) + 1; | 69 | 100 | if (NewSize > storage_.size()) | 70 | 100 | resize(NewSize); | 71 | 100 | } |
llvm::IndexedMap<llvm::FunctionLoweringInfo::LiveOutInfo, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 470k | void grow(IndexT n) { | 68 | 470k | unsigned NewSize = toIndex_(n) + 1; | 69 | 470k | if (NewSize > storage_.size()) | 70 | 185k | resize(NewSize); | 71 | 470k | } |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 13.4M | void grow(IndexT n) { | 68 | 13.4M | unsigned NewSize = toIndex_(n) + 1; | 69 | 13.4M | if (NewSize > storage_.size()) | 70 | 816k | resize(NewSize); | 71 | 13.4M | } |
llvm::IndexedMap<unsigned int, llvm::identity<unsigned int> >::grow(unsigned int) Line | Count | Source | 67 | 1.09k | void grow(IndexT n) { | 68 | 1.09k | unsigned NewSize = toIndex_(n) + 1; | 69 | 1.09k | if (NewSize > storage_.size()) | 70 | 1.09k | resize(NewSize); | 71 | 1.09k | } |
llvm::IndexedMap<llvm::LiveVariables::VarInfo, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 129M | void grow(IndexT n) { | 68 | 129M | unsigned NewSize = toIndex_(n) + 1; | 69 | 129M | if (NewSize > storage_.size()) | 70 | 4.11M | resize(NewSize); | 71 | 129M | } |
llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 22.7M | void grow(IndexT n) { | 68 | 22.7M | unsigned NewSize = toIndex_(n) + 1; | 69 | 22.7M | if (NewSize > storage_.size()) | 70 | 22.7M | resize(NewSize); | 71 | 22.7M | } |
llvm::IndexedMap<std::__1::pair<unsigned int, llvm::SmallVector<unsigned int, 4u> >, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 22.7M | void grow(IndexT n) { | 68 | 22.7M | unsigned NewSize = toIndex_(n) + 1; | 69 | 22.7M | if (NewSize > storage_.size()) | 70 | 22.7M | resize(NewSize); | 71 | 22.7M | } |
llvm::IndexedMap<llvm::LLT, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 14.8M | void grow(IndexT n) { | 68 | 14.8M | unsigned NewSize = toIndex_(n) + 1; | 69 | 14.8M | if (NewSize > storage_.size()) | 70 | 14.1M | resize(NewSize); | 71 | 14.8M | } |
RegAllocGreedy.cpp:llvm::IndexedMap<(anonymous namespace)::RAGreedy::RegInfo, llvm::VirtReg2IndexFunctor>::grow(unsigned int) Line | Count | Source | 67 | 9.20M | void grow(IndexT n) { | 68 | 9.20M | unsigned NewSize = toIndex_(n) + 1; | 69 | 9.20M | if (NewSize > storage_.size()) | 70 | 30.5k | resize(NewSize); | 71 | 9.20M | } |
|
72 | | |
73 | 296M | bool inBounds(IndexT n) const { |
74 | 296M | return toIndex_(n) < storage_.size(); |
75 | 296M | } llvm::IndexedMap<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, llvm::VirtReg2IndexFunctor>::inBounds(unsigned int) const Line | Count | Source | 73 | 259k | bool inBounds(IndexT n) const { | 74 | 259k | return toIndex_(n) < storage_.size(); | 75 | 259k | } |
llvm::IndexedMap<llvm::LLT, llvm::VirtReg2IndexFunctor>::inBounds(unsigned int) const Line | Count | Source | 73 | 142M | bool inBounds(IndexT n) const { | 74 | 142M | return toIndex_(n) < storage_.size(); | 75 | 142M | } |
llvm::IndexedMap<llvm::FunctionLoweringInfo::LiveOutInfo, llvm::VirtReg2IndexFunctor>::inBounds(unsigned int) const Line | Count | Source | 73 | 1.89M | bool inBounds(IndexT n) const { | 74 | 1.89M | return toIndex_(n) < storage_.size(); | 75 | 1.89M | } |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::inBounds(unsigned int) const Line | Count | Source | 73 | 152M | bool inBounds(IndexT n) const { | 74 | 152M | return toIndex_(n) < storage_.size(); | 75 | 152M | } |
RegAllocGreedy.cpp:llvm::IndexedMap<(anonymous namespace)::RAGreedy::RegInfo, llvm::VirtReg2IndexFunctor>::inBounds(unsigned int) const Line | Count | Source | 73 | 5.81k | bool inBounds(IndexT n) const { | 74 | 5.81k | return toIndex_(n) < storage_.size(); | 75 | 5.81k | } |
|
76 | | |
77 | 36.9M | typename StorageT::size_type size() const { |
78 | 36.9M | return storage_.size(); |
79 | 36.9M | } llvm::IndexedMap<std::__1::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::size() const Line | Count | Source | 77 | 35.9M | typename StorageT::size_type size() const { | 78 | 35.9M | return storage_.size(); | 79 | 35.9M | } |
llvm::IndexedMap<llvm::LiveInterval*, llvm::VirtReg2IndexFunctor>::size() const Line | Count | Source | 77 | 564k | typename StorageT::size_type size() const { | 78 | 564k | return storage_.size(); | 79 | 564k | } |
llvm::IndexedMap<llvm::LiveVariables::VarInfo, llvm::VirtReg2IndexFunctor>::size() const Line | Count | Source | 77 | 495k | typename StorageT::size_type size() const { | 78 | 495k | return storage_.size(); | 79 | 495k | } |
|
80 | | }; |
81 | | |
82 | | } // end namespace llvm |
83 | | |
84 | | #endif // LLVM_ADT_INDEXEDMAP_H |