| OLD | NEW |
| 1 //===-- NaClBitcodeValueDist.h ---------------------------------------------===/
/ | 1 //===-- NaClBitcodeValueDist.h ---------------------------------------------===/
/ |
| 2 // Defines distribution maps to separate out values at each index | 2 // Defines distribution maps to separate out values at each index |
| 3 // in a bitcode record. | 3 // in a bitcode record. |
| 4 // | 4 // |
| 5 // The LLVM Compiler Infrastructure | 5 // The LLVM Compiler Infrastructure |
| 6 // | 6 // |
| 7 // This file is distributed under the University of Illinois Open Source | 7 // This file is distributed under the University of Illinois Open Source |
| 8 // License. See LICENSE.TXT for details. | 8 // License. See LICENSE.TXT for details. |
| 9 // | 9 // |
| 10 //===----------------------------------------------------------------------===// | 10 //===----------------------------------------------------------------------===// |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 | 38 |
| 39 /// Converts a bitcode record value to the corresponding range index that | 39 /// Converts a bitcode record value to the corresponding range index that |
| 40 /// contains the value. | 40 /// contains the value. |
| 41 NaClValueRangeIndexType GetNaClValueRangeIndex(NaClBitcodeDistValue Value); | 41 NaClValueRangeIndexType GetNaClValueRangeIndex(NaClBitcodeDistValue Value); |
| 42 | 42 |
| 43 /// Converts a range index into the corresponding range of values. | 43 /// Converts a range index into the corresponding range of values. |
| 44 NaClValueRangeType GetNaClValueRange(NaClValueRangeIndexType RangeIndex); | 44 NaClValueRangeType GetNaClValueRange(NaClValueRangeIndexType RangeIndex); |
| 45 | 45 |
| 46 /// Defines the distribution of range indices. | 46 /// Defines the distribution of range indices. |
| 47 class NaClBitcodeValueDistElement : public NaClBitcodeDistElement { | 47 class NaClBitcodeValueDistElement : public NaClBitcodeDistElement { |
| 48 NaClBitcodeValueDistElement(const NaClBitcodeValueDistElement&) | 48 NaClBitcodeValueDistElement(const NaClBitcodeValueDistElement&) = delete; |
| 49 LLVM_DELETED_FUNCTION; | 49 void operator=(const NaClBitcodeValueDistElement&) = delete; |
| 50 void operator=(const NaClBitcodeValueDistElement&) LLVM_DELETED_FUNCTION; | |
| 51 | 50 |
| 52 public: | 51 public: |
| 53 static bool classof(const NaClBitcodeDistElement *Element) { | 52 static bool classof(const NaClBitcodeDistElement *Element) { |
| 54 return Element->getKind() >= RDE_ValueDist && | 53 return Element->getKind() >= RDE_ValueDist && |
| 55 Element->getKind() < RDE_ValueDistLast; | 54 Element->getKind() < RDE_ValueDistLast; |
| 56 } | 55 } |
| 57 | 56 |
| 58 NaClBitcodeValueDistElement() | 57 NaClBitcodeValueDistElement() |
| 59 : NaClBitcodeDistElement(RDE_ValueDist) | 58 : NaClBitcodeDistElement(RDE_ValueDist) |
| 60 {} | 59 {} |
| (...skipping 14 matching lines...) Expand all Loading... |
| 75 virtual const char *GetValueHeader() const; | 74 virtual const char *GetValueHeader() const; |
| 76 | 75 |
| 77 virtual void PrintRowValue(raw_ostream &Stream, | 76 virtual void PrintRowValue(raw_ostream &Stream, |
| 78 NaClBitcodeDistValue Value, | 77 NaClBitcodeDistValue Value, |
| 79 const NaClBitcodeDist *Distribution) const; | 78 const NaClBitcodeDist *Distribution) const; |
| 80 }; | 79 }; |
| 81 | 80 |
| 82 /// Defines the distribution of values for a set of value indices for | 81 /// Defines the distribution of values for a set of value indices for |
| 83 /// bitcode records. | 82 /// bitcode records. |
| 84 class NaClBitcodeValueDist : public NaClBitcodeDist { | 83 class NaClBitcodeValueDist : public NaClBitcodeDist { |
| 85 NaClBitcodeValueDist(const NaClBitcodeValueDist&) LLVM_DELETED_FUNCTION; | 84 NaClBitcodeValueDist(const NaClBitcodeValueDist&) = delete; |
| 86 void operator=(const NaClBitcodeValueDist&) LLVM_DELETED_FUNCTION; | 85 void operator=(const NaClBitcodeValueDist&) = delete; |
| 87 | 86 |
| 88 public: | 87 public: |
| 89 static bool classof(const NaClBitcodeDist *Dist) { | 88 static bool classof(const NaClBitcodeDist *Dist) { |
| 90 return Dist->getKind() >= RD_ValueDist && | 89 return Dist->getKind() >= RD_ValueDist && |
| 91 Dist->getKind() < RD_ValueDistLast; | 90 Dist->getKind() < RD_ValueDistLast; |
| 92 } | 91 } |
| 93 | 92 |
| 94 /// Builds a value distribution for the given set of value indices. | 93 /// Builds a value distribution for the given set of value indices. |
| 95 /// If AllRemainingIndices is false, only value Index is considered. | 94 /// If AllRemainingIndices is false, only value Index is considered. |
| 96 /// Otherwise, builds a value distribution for all values stored in | 95 /// Otherwise, builds a value distribution for all values stored in |
| (...skipping 21 matching lines...) Expand all Loading... |
| 118 // If true, then tracks all indices >= Index. Otherwise only Index. | 117 // If true, then tracks all indices >= Index. Otherwise only Index. |
| 119 bool AllRemainingIndices; | 118 bool AllRemainingIndices; |
| 120 }; | 119 }; |
| 121 | 120 |
| 122 /// Defines the value distribution for each value index in corresponding | 121 /// Defines the value distribution for each value index in corresponding |
| 123 /// bitcode records. This is a helper class used to separate each element | 122 /// bitcode records. This is a helper class used to separate each element |
| 124 /// in the bitcode record, so that we can determine the proper abbreviation | 123 /// in the bitcode record, so that we can determine the proper abbreviation |
| 125 /// for each element. | 124 /// for each element. |
| 126 class NaClBitcodeValueIndexDistElement : public NaClBitcodeDistElement { | 125 class NaClBitcodeValueIndexDistElement : public NaClBitcodeDistElement { |
| 127 NaClBitcodeValueIndexDistElement( | 126 NaClBitcodeValueIndexDistElement( |
| 128 const NaClBitcodeValueIndexDistElement&) LLVM_DELETED_FUNCTION; | 127 const NaClBitcodeValueIndexDistElement&) = delete; |
| 129 void operator=( | 128 void operator=( |
| 130 const NaClBitcodeValueIndexDistElement&) LLVM_DELETED_FUNCTION; | 129 const NaClBitcodeValueIndexDistElement&) = delete; |
| 131 | 130 |
| 132 public: | 131 public: |
| 133 static bool classof(const NaClBitcodeDistElement *Element) { | 132 static bool classof(const NaClBitcodeDistElement *Element) { |
| 134 return Element->getKind() <= RDE_ValueIndexDist && | 133 return Element->getKind() <= RDE_ValueIndexDist && |
| 135 Element->getKind() < RDE_ValueIndexDistLast; | 134 Element->getKind() < RDE_ValueIndexDistLast; |
| 136 } | 135 } |
| 137 | 136 |
| 138 explicit NaClBitcodeValueIndexDistElement(unsigned Index=0) | 137 explicit NaClBitcodeValueIndexDistElement(unsigned Index=0) |
| 139 : NaClBitcodeDistElement(RDE_ValueIndexDist), | 138 : NaClBitcodeDistElement(RDE_ValueIndexDist), |
| 140 ValueDist(Index) { | 139 ValueDist(Index) { |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 174 // Nested blocks used by GetNestedDistributions. | 173 // Nested blocks used by GetNestedDistributions. |
| 175 SmallVector<NaClBitcodeDist*, 1> NestedDists; | 174 SmallVector<NaClBitcodeDist*, 1> NestedDists; |
| 176 | 175 |
| 177 // The value distribution associated with the given index. | 176 // The value distribution associated with the given index. |
| 178 NaClBitcodeValueDist ValueDist; | 177 NaClBitcodeValueDist ValueDist; |
| 179 }; | 178 }; |
| 180 | 179 |
| 181 } | 180 } |
| 182 | 181 |
| 183 #endif | 182 #endif |
| OLD | NEW |