de2d8694e25a814696358e95141f4b1aa4d8847e |
|
20-Sep-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r275480 Bug: http://b/31320715 This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from aosp/dev. Test: Build AOSP and run RenderScript tests (host tests for slang and libbcc, RsTest, CTS) Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
f3ef5332fa3f4d5ec72c178a2b19dac363a19383 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
79f5ab1931e5abf6e9c304db25e50d592dd8f5b8 |
|
23-Feb-2013 |
Cameron Zwarich <zwarich@apple.com> |
Make some fixes for LiveInterval repair with debug info. Debug value MachineInstrs don't have a slot index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175961 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
c5b6135fb55362f5c052625043ebf3286f799f86 |
|
20-Feb-2013 |
Cameron Zwarich <zwarich@apple.com> |
Find anchoring end points for repairIntervalsInRange and repairIndexesInRange automatically. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175673 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
349cf349987a65be89078913e34126898bcdd138 |
|
20-Feb-2013 |
Cameron Zwarich <zwarich@apple.com> |
Add SlotIndexes::repairIndexesInRange(), which repairs SlotIndexes after adding and removing instructions. The implementation seems more complicated than it needs to be, but I couldn't find something simpler that dealt with all of the corner cases. Also add a call to repairIndexesInRange() from repairIntervalsInRange(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
b720be6a50f4e1b3280d2b029ee38dda14577525 |
|
12-Sep-2012 |
Manman Ren <mren@apple.com> |
Release build: guard dump functions with "#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" No functional change. Update r163339. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163653 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
77e300e8f0b8db8eec448cae9c87d7c5bfad9757 |
|
06-Sep-2012 |
Manman Ren <mren@apple.com> |
Release build: guard dump functions with "ifndef NDEBUG" No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
a0b0219a9e13ecd193eee604ab22ffc74b516b02 |
|
25-Apr-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove more dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
613dfb219c167717576b2383ee57573f4d8f53cf |
|
17-Apr-2012 |
Lang Hames <lhames@gmail.com> |
SlotIndexes used to store the index list in a crufty custom linked-list. I can't for the life of me remember why I wrote it this way, but I can't see any good reason for it now. This patch replaces the custom linked list with an ilist. This change should preserve the existing numberings exactly, so no generated code should change (if it does, file a bug!). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
1ce6a36610f06a1fb4047ddde1e9bc2f071c0bfb |
|
25-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use the standard MachineFunction::print() after SlotIndexes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
2debd48ca790ac01be6e12e094fdf4fdcadc8364 |
|
13-Nov-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Rename SlotIndexes to match how they are used. The old naming scheme (load/use/def/store) can be traced back to an old linear scan article, but the names don't match how slots are actually used. The load and store slots are not needed after the deferred spill code insertion framework was deleted. The use and def slots don't make any sense because we are using half-open intervals as is customary in C code, but the names suggest closed intervals. In reality, these slots were used to distinguish early-clobber defs from normal defs. The new naming scheme also has 4 slots, but the names match how the slots are really used. This is a purely mechanical renaming, but some of the code makes a lot more sense now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
a122eaaee22750c4f92c33672e149eb2f0c538cb |
|
02-Apr-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use basic block numbers as indexes when mapping slot index ranges. This is more compact and faster than using DenseMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
979869c28e5bc68e2d4d546c7019525177f1d399 |
|
04-Mar-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Renumber slot indexes locally when possible. Initially, slot indexes are quad-spaced. There is room for inserting up to 3 new instructions between the original instructions. When we run out of indexes between two instructions, renumber locally using double-spaced indexes. The original quad-spacing means that we catch up quickly, and we only have to renumber a handful of instructions to get a monotonic sequence. This is much faster than renumbering the whole function as we did before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
f0cf2d357cf5540f21400e330028045e65e60835 |
|
04-Mar-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Number SlotIndexes uniformly without looking at the number of defs on each instruction. You can't really predict how many indexes will be needed from the number of defs, so let's keep it simple. Also remove an extra empty index that was inserted after each basic block. It was intended for live-out ranges, but it was never used that way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
10c5f2dad5e11e2502ebc0b9e9ea56e449f42d16 |
|
04-Mar-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add SlotIndex statistics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
2c11eb333c37edd5b15c1d05394861fdfc0eab90 |
|
03-Mar-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Renumber slot indexes uniformly instead of spacing according to the number of defs. There are probably much larger speedups to be had by renumbering locally instead of looping over the whole function. For now, the greedy register allocator is 25% faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
f37712f48642bcca04c77083c0579e7fe8d4d916 |
|
03-Mar-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Represent sentinel slot indexes with a null pointer. This is much faster than using a pointer to a ManagedStatic object accessed with a function call. The greedy register allocator is 5% faster overall just from the SlotIndex default constructor savings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
97af98678cc943050cf23951a66c89e922cf21c4 |
|
03-Feb-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Tweak debug output from SlotIndexes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
1e8e72d72a71ec3fb6c81bd35a34261f34436900 |
|
11-Nov-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Insert two blank SlotIndexes between basic blocks instead of just one. This is the first small step towards using closed intervals for liveness instead of the half-open intervals we're using now. We want to be able to distinguish between a SlotIndex that represents a variable being live-out of a basic block, and an index representing a variable live-in to its successor. That requires two separate indexes between blocks. One for live-outs and one for live-ins. With this change, getMBBEndIdx(MBB).getPrevSlot() becomes stable so it stays greater than any instructions inserted at the end of MBB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
ce665bd2e2b581ab0858d1afe359192bac96b868 |
|
08-Oct-2010 |
Owen Anderson <resistor@mac.com> |
Now with fewer extraneous semicolons! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
011e5910719265ba5d41e8af2290e55c5eb50526 |
|
25-Sep-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove SlotIndex::PHI_BIT. It is no longer used by anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
1803b37bad85cca19a15c0040979719240f48626 |
|
25-Sep-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Terminator gaps were unused. Might as well delete them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
d13db2c59cc94162d6cf0a04187d408bfef6d4a7 |
|
22-Jul-2010 |
Owen Anderson <resistor@mac.com> |
Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
eec418d26f08e9cf32b8eab03da59d6cd5dd7faa |
|
24-Jun-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Print the LSBs of a SlotIndex symbolically using letters referring to the [L]oad, [u]se, [d]ef, or [S]tore slots. This makes it easier to see if two indices refer to the same instruction, avoiding mental mod 4 calculations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106766 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
f451cb870efcf9e0302d25ed05f4cac6bb494e42 |
|
10-Feb-2010 |
Dan Gohman <gohman@apple.com> |
Fix "the the" and similar typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
518bb53485df640d7b7e3f6b0544099020c42aa7 |
|
09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
1caedd056dbc3eda1537ad8251323bd985819b80 |
|
22-Jan-2010 |
Dale Johannesen <dalej@apple.com> |
Ignore DEBUG_VALUE when building live intervals; this makes the code work transparently the same whether they're there or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
87b0efc86dcc1dac30fcd6b4d1c51110f707a28c |
|
05-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
74ab5eeffbd70f2387338e3ee8195be9f73e6dd8 |
|
22-Dec-2009 |
Lang Hames <lhames@gmail.com> |
Changed slot index ranges for MachineBasicBlocks to be exclusive of endpoint. This fixes an in-place update bug where code inserted at the end of basic blocks may not be covered by existing intervals which were live across the entire block. It is also consistent with the way ranges are specified for live intervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
b3661585c0f87b6045f0d65b5cac16921ae27086 |
|
14-Nov-2009 |
Lang Hames <lhames@gmail.com> |
Added an API to the SlotIndexes pass to allow new instructions to be inserted into the numbering. PreAllocSplitting is now using this API to insert code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
81cf4325698b48b02eddab921ac333c7f25005c3 |
|
10-Nov-2009 |
Jeffrey Yasskin <jyasskin@google.com> |
Fix DenseMap iterator constness. This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
16dcaf59960d699735a57b1623092d561c18a165 |
|
08-Nov-2009 |
Lang Hames <lhames@gmail.com> |
Moved some ManagedStatics out of the SlotIndexes header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
d6ef7fac1a020c58ec61cad2325e5f6afd0bbee6 |
|
07-Nov-2009 |
Lang Hames <lhames@gmail.com> |
Update some globals to use ManagedStatic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
fbb8fa247ec13067d9ad3f0c426e2029d15222b2 |
|
05-Nov-2009 |
Lang Hames <lhames@gmail.com> |
Added support for renumbering existing index list elements. Removed some junk from the initial numbering code in runOnMachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
0368e500eb7f5f03313e1a7af5b8fa48465c0560 |
|
04-Nov-2009 |
Lang Hames <lhames@gmail.com> |
Handle empty/tombstone keys for LiveIndex more cleanly. Check for index sanity when constructing index list entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|
233a60ec40b41027ff429e2f2c27fa2be762f2e9 |
|
04-Nov-2009 |
Lang Hames <lhames@gmail.com> |
The Indexes Patch. This introduces a new pass, SlotIndexes, which is responsible for numbering instructions for register allocation (and other clients). SlotIndexes numbering is designed to match the existing scheme, so this patch should not cause any changes in the generated code. For consistency, and to avoid naming confusion, LiveIndex has been renamed SlotIndex. The processImplicitDefs method of the LiveIntervals analysis has been moved into its own pass so that it can be run prior to SlotIndexes. This was necessary to match the existing numbering scheme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/SlotIndexes.cpp
|