History log of /external/llvm/include/llvm/ADT/IndexedMap.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c0ccb8bb17028fe0dda139c0972c0125d10e6053 20-Apr-2012 Andrew Trick <atrick@apple.com> SparseSet: Add support for key-derived indexes and arbitrary key types.

This nicely handles the most common case of virtual register sets, but
also handles anticipated cases where we will map pointers to IDs.

The goal is not to develop a completely generic SparseSet
template. Instead we want to handle the expected uses within llvm
without any template antics in the client code. I'm adding a bit of
template nastiness here, and some assumption about expected usage in
order to make the client code very clean.

The expected common uses cases I'm designing for:
- integer keys that need to be reindexed, and may map to additional
data
- densely numbered objects where we want pointer keys because no
number->object map exists.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
42e9c963921776cb498c33b6c6c03f29971316f3 09-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Remove MachineRegisterInfo::getLastVirtReg(), it was giving wrong results
when no virtual registers have been allocated.

It was only used to resize IndexedMaps, so provide an IndexedMap::resize()
method such that

Map.grow(MRI.getLastVirtReg());

can be replaced with the simpler

Map.resize(MRI.getNumVirtRegs());

This works correctly when no virtuals are allocated, and it bypasses the to/from
index conversions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
994c727b5790e5c976e32c75364d78eb9b22a568 09-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Use IndexedMap for MachineRegisterInfo as well. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123106 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
358de24dc121cd21911f3248b599178c86e9b467 09-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk> Use an IndexedMap for LiveOutRegInfo to hide its dependence on TargetRegisterInfo::FirstVirtualRegister.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
59bf4fcc0680e75b408579064d1205a132361196 06-Sep-2009 Duncan Sands <baldrick@free.fr> Public and private corrections, warned about by icc (#304).
Patch by Erick Tryzelaar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
a2769a33c94f021a609a462b28ebea069eba6f74 20-Feb-2009 Misha Brukman <brukman+llvm@gmail.com> Fixed lint errors:
* Alphabetized #includes
* Removed trailing whitespace
* Wrapped or shortened lines over 80 chars


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
94c002a190cd2e3a52b1510bc997e53d63af0b3b 01-Feb-2007 Chris Lattner <sabre@nondot.org> rename DenseMap to IndexedMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
e3f71b4198cebee9c9f2534c39bd3e19740eee6a 01-Feb-2007 Chris Lattner <sabre@nondot.org> rename DenseMap -> IndexedMap.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
30eed211c99246392edf49c1bc6e9fb2a8f7a0f6 30-Sep-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Remove whitespace from the end of the line.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16624 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
8018a665b2fa8250f12e079b19459c662cdd27f0 09-Sep-2004 Chris Lattner <sabre@nondot.org> Add missing #include


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
df8d5e908fe83dafe98a05086956e7b0943af1e0 02-Sep-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Pull in definition of std::unary_function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
fc093bd0810b6e726c02c2430f77618fd7255541 27-Aug-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Add size member function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
5501e568b396f3e58f3d642e77139c790eda9df9 26-Aug-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Add default index functor (an identity functor). You could use a
vector directly to get the same functionality but using a DenseMap
makes the code more readable IMO.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
7c78afefe96669cc3eb886308291213415d9d7b0 26-Feb-2004 Chris Lattner <sabre@nondot.org> Fix a bug in the densemap that was killing the local allocator, and probably
other clients. The problem is that the nullVal member was left to the default
constructor to initialize, which for int's does nothing (ie, leaves it unspecified).

To get a zero value, we must use T(). It's C++ wonderful? :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11867 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
00fa65be8344944b080cd790678e027e10942ffd 26-Feb-2004 Chris Lattner <sabre@nondot.org> Fix typeo. grow() cannot shrink storage. clear() should really nuke storage


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h
4d0d864be3d9a698c4edfe36961a22126f041298 25-Feb-2004 Alkis Evlogimenos <alkis@evlogimenos.com> Add DenseMap template and actually use it for for mapping virtual regs
to objects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/ADT/IndexedMap.h