- Apr 17, 2012
-
-
Manuel Klimek authored
llvm-svn: 154930
-
- Apr 04, 2012
-
-
Michael J. Spencer authored
llvm-svn: 153977
-
- Mar 30, 2012
-
-
Rafael Espindola authored
needed for correctness, but still doesn't clean up code that now unnecessary checks for reachability. llvm-svn: 153755
-
- Mar 15, 2012
-
-
Eli Bendersky authored
llvm-svn: 152780
-
- Mar 13, 2012
-
-
Eli Bendersky authored
Also refactor the existing OProfile profiling code to reuse the same interfaces with the VTune profiling code. In addition, unit tests for the profiling interfaces were added. This patch was prepared by Andrew Kaylor and Daniel Malea, and reviewed in the llvm-commits list by Jim Grosbach llvm-svn: 152620
-
- Feb 22, 2012
-
-
Jakob Stoklund Olesen authored
For objects that can be identified by small unsigned keys, SparseSet provides constant time clear() and fast deterministic iteration. Insert, erase, and find operations are typically faster than hash tables. SparseSet is useful for keeping information about physical registers, virtual registers, or numbered basic blocks. llvm-svn: 151110
-
- Feb 18, 2012
-
-
Talin authored
llvm-svn: 150890
-
- Jan 31, 2012
-
-
Manuel Klimek authored
now that this handles the release / retain calls. Adds a regression test for that bug (which is a compile-time regression) and for the last two changes to the IntrusiveRefCntPtr, especially tests for the memory leak due to copy construction of the ref-counted object and ensuring that the traits are used for release / retain calls. llvm-svn: 149411
-
- Jan 02, 2012
-
-
Chandler Carruth authored
is testing the bitcode reader's functionality, not VMCore's. Add the what is a hope sufficient build system mojo to build and run a new unittest. Also clean up some of the test's naming. The goal for the file should be to unittest the Bitcode Reader, and this is just one particular test among potentially many in the future. Also, reverse my position and relegate the PR# to a comment, but stash the comment on the same line as the test name so it doesn't get lost. This makes the code more self-documenting hopefully w/o losing track of the PR number. llvm-svn: 147431
-
Rafael Espindola authored
PR11677. llvm-svn: 147425
-
- Dec 16, 2011
-
-
Manuel Klimek authored
llvm-svn: 146735
-
Chandler Carruth authored
variadic-like functions in C++98. See the comments in the header file for a more detailed description of how these work. We plan to use these extensively in the AST matching library. This code and idea were originally authored by Zhanyong Wan. I've condensed it using macros to reduce repeatition and adjusted it to fit better with LLVM's ADT. Thanks to both David Blaikie and Doug Gregor for the review! llvm-svn: 146729
-
NAKAMURA Takumi authored
llvm-svn: 146725
-
- Jul 09, 2011
-
-
Chris Lattner authored
patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
-
- Jun 15, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 133075
-
- May 11, 2011
-
-
Oscar Fuentes authored
gcc. Fixes PR9886. llvm-svn: 131181
-
- Feb 20, 2011
-
-
Oscar Fuentes authored
Requires CMake 2.8.3 or newer. llvm-svn: 126092
-
- Jan 13, 2011
-
-
Oscar Fuentes authored
llvm-svn: 123377
-
- Dec 21, 2010
-
-
Jakob Stoklund Olesen authored
This implementation already exists as ConnectedVNInfoEqClasses in LiveInterval.cpp, and it seems to be generally useful to have a light-weight way of forming equivalence classes of small integers. IntEqClasses doesn't allow enumeration of the elements in a class. llvm-svn: 122293
-
- Dec 07, 2010
-
-
Frits van Bommel authored
llvm-svn: 121127
-
NAKAMURA Takumi authored
llvm-svn: 121117
-
- Nov 29, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120330
-
Michael J. Spencer authored
llvm-svn: 120298
-
- Nov 26, 2010
-
-
NAKAMURA Takumi authored
GNU ld/PECOFF accepts but ignores them below; --version-script --export-dynamic --rpath FIXME: autoconf should be aware of them. llvm-svn: 120179
-
- Nov 24, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120101
-
- Nov 20, 2010
-
-
Dale Johannesen authored
llvm-svn: 119870
-
- Nov 19, 2010
-
-
Jakob Stoklund Olesen authored
This is a sorted interval map data structure for small keys and values with automatic coalescing and bidirectional iteration over coalesced intervals. Except for coalescing intervals, it provides similar functionality to std::map. It is however much more compact for small keys and values, and hopefully faster too. The container object itself can hold the first few intervals without any allocations, then it switches to a cache conscious B+-tree representation. A recycling allocator can be shared between many containers, even between containers holding different types. The IntervalMap is initially intended to be used with SlotIndex intervals for: - Backing store for LiveIntervalUnion that is smaller and faster than std::set. - Backing store for LiveInterval with less overhead than std::vector for typical intervals and O(N log N) merging of large intervals. 99% of virtual registers need 4 entries or less and would benefit from the small object optimization. - Backing store for LiveDebugVariable which doesn't exist yet, but will track debug variables during register allocation. This is a work in progress. Missing items are: - Performance metrics. - erase(). - insert() shrinkage. - clear(). - More performance metrics. - Simplification and detemplatization. llvm-svn: 119787
-
NAKAMURA Takumi authored
CMake can pass *.def to link.exe. llvm-svn: 119783
-
NAKAMURA Takumi authored
MSVC9 and 8 cannot compile ValueMapTest.cpp due to their bug. See issue#331418 in Visual Studio. llvm-svn: 119782
-
Jakob Stoklund Olesen authored
This reverts r119772. llvm-svn: 119773
-
Jakob Stoklund Olesen authored
This is a sorted interval map data structure for small keys and values with automatic coalescing and bidirectional iteration over coalesced intervals. Except for coalescing intervals, it provides similar functionality to std::map. It is however much more compact for small keys and values, and hopefully faster too. The container object itself can hold the first few intervals without any allocations, then it switches to a cache conscious B+-tree representation. A recycling allocator can be shared between many containers, even between containers holding different types. The IntervalMap is initially intended to be used with SlotIndex intervals for: - Backing store for LiveIntervalUnion that is smaller and faster than std::set. - Backing store for LiveInterval with less overhead than std::vector for typical intervals and O(N log N) merging of large intervals. 99% of virtual registers need 4 entries or less and would benefit from the small object optimization. - Backing store for LiveDebugVariable which doesn't exist yet, but will track debug variables during register allocation. This is a work in progress. Missing items are: - Performance metrics. - erase(). - insert() shrinkage. - clear(). - More performance metrics. - Simplification and detemplatization. llvm-svn: 119772
-
- Nov 14, 2010
-
-
NAKAMURA Takumi authored
llvm-svn: 119040
-
- Oct 29, 2010
-
-
NAKAMURA Takumi authored
llvm-svn: 117646
-
- Oct 28, 2010
-
-
Oscar Fuentes authored
UnitTests for building all the unit tests. llvm-svn: 117545
-
- Oct 21, 2010
-
-
Michael J. Spencer authored
llvm-svn: 117057
-
- Oct 19, 2010
-
-
Michael J. Spencer authored
llvm-svn: 116834
-
- Oct 11, 2010
-
-
Michael J. Spencer authored
This time correctly. llvm-svn: 116247
-
Michael J. Spencer authored
This reverts commit 116234. It compiled just fine with MSVC and clang... llvm-svn: 116242
-
Michael J. Spencer authored
llvm-svn: 116235
-
Michael J. Spencer authored
llvm-svn: 116234
-