Use a sorted array to store the information about a few address spaces.

We don't have any test with more than 6 address spaces, so a DenseMap is
probably not the correct answer.

An unsorted array would also be OK, but we have to sort it for printing anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202275 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2014-02-26 16:58:35 +00:00
parent 3c4c95e522
commit e3561972d4
2 changed files with 44 additions and 33 deletions

View File

@@ -115,7 +115,14 @@ private:
/// pointers vs. 64-bit pointers by extending LayoutAlignment, but for now,
/// we don't.
SmallVector<LayoutAlignElem, 16> Alignments;
DenseMap<unsigned, PointerAlignElem> Pointers;
typedef SmallVector<PointerAlignElem, 8> PointersTy;
PointersTy Pointers;
PointersTy::const_iterator findPoiterLowerBound(uint32_t AddressSpace) const {
return const_cast<DataLayout *>(this)->findPoiterLowerBound(AddressSpace);
}
PointersTy::iterator findPoiterLowerBound(uint32_t AddressSpace);
/// InvalidAlignmentElem - This member is a signal that a requested alignment
/// type and bit width were not found in the SmallVector.