8de25f031d8a8c63e0107f7fd0ac4af6b8ab600c |
|
17-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Make constant string pointer into an array to remove a pointer lookup for every access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
1ead68d769f27f6d68d4aaeffe4199fa2cacbc95 |
|
28-Nov-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Make the LiveRegMatrix analysis available to targets. No functional change, just moved header files. Targets can inject custom passes between register allocation and rewriting. This makes it possible to tweak the register allocation before rewriting, using the full global interference checking available from LiveRegMatrix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
18bb0545ff79b85ef424e95e2170e3a06f11b735 |
|
28-Nov-2012 |
Chad Rosier <mcrosier@apple.com> |
Revert r168630, r168631, and r168633 as these are causing nightly test failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
216532ac0a7b333e814cc86b7c91358db6a7e819 |
|
27-Nov-2012 |
Chad Rosier <mcrosier@apple.com> |
Now that the X86 Maximal Stack Alignment Check pass has been removed (i.e., r168627), we no longer need to call the freezeReservedRegs() function a second time. Previously, this pass was conservatively adding the FP to the set of reserved registers, requiring the second update to the reserved registers. rdar://12719844 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
d4348a2dc24c4fb012c1b9b20e71908f52049283 |
|
21-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove LiveIntervalUnions from RegAllocBase. They are living in LiveRegMatrix now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
812cda9a5cc26b1f8dda6f909bf5062c215b65d7 |
|
21-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Convert RABasic to using LiveRegMatrix interference checking. Stop using the LiveIntervalUnions provided by RegAllocBase, they will be removed soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
d67582e2767df96610ba8dc1835ad4bf99fc77e8 |
|
20-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Avoid iterating with LiveIntervals::iterator. That is a DenseMap iterator keyed by pointers, so the iteration order is nondeterministic. I would like to replace the DenseMap with an IndexedMap which doesn't allow iteration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158856 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
fe17bdbb50efe2f7f68d0b99e55ae52bd9477978 |
|
09-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Also compute MBB live-in lists in the new rewriter pass. This deduplicates some code from the optimizing register allocators, and it means that it is now possible to change the register allocators' solutions simply by editing the VirtRegMap between the register allocator pass and the rewriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158249 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
0e5a60b4ebc06a4fe6bb58f0200acf130d7be685 |
|
06-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move LiveUnionArray into LiveIntervalUnion.h It is useful outside RegAllocBase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
2fd0923593c4d30691a45ade1e8b0bd484896c3f |
|
06-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't print register names in LiveIntervalUnion::print(). Soon we'll be making LiveIntervalUnions for register units as well. This was the only place using the RepReg member, so just remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
b77ec7d26405125fa5685370af5f17fcc9edbecd |
|
06-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Simplify LiveInterval::print(). Don't print out the register number and spill weight, making the TRI argument unnecessary. This allows callers to interpret the reg field. It can currently be a virtual register, a physical register, a spill slot, or a register unit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
396618b43a85e12d290a90b181c6af5d7c0c5f11 |
|
02-Jun-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Switch all register list clients to the new MC*Iterator interface. No functional change intended. Sorry for the churn. The iterator classes are supposed to help avoid giant commits like this one in the future. The TableGen-produced register lists are getting quite large, and it may be necessary to change the table representation. This makes it possible to do so without changing all clients (again). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
2b3fa322b8788e62e28bc6989a53737bf9483437 |
|
12-May-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't look for empty live ranges in the unions. Empty live ranges represent undef and still get allocated, but they won't appear in LiveIntervalUnions. Patch by Patrik Hägglund! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
789d5d85ba6e9259a8e0f0bcfbd06a59ad164512 |
|
03-Apr-2012 |
Pete Cooper <peter_cooper@apple.com> |
Moved LiveRangeEdit.h so that it can be called from other parts of the backend, not just libCodeGen git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
e4fd907e72a599eddfa7a81eac4366b5b82523e3 |
|
04-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint16_t to store register overlaps to reduce static data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
a8bd9a68f7c00fe1d895bb5e27ff804aa33abd64 |
|
11-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Sink spillInterferences into RABasic. This helper method is too simplistic for RAGreedy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|
ccc9581e8b79b4216cb1143344bdae9342722d5d |
|
11-Jan-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move RegAllocBase into its own cpp file separate from RABasic. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegAllocBase.cpp
|