dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
da5f1ed6406442735fbb4421f8a22bc8a41d4c57 |
|
19-Feb-2013 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Assert that the target provided hints are in the allocation order. Target implementations of getRegAllocationHints() should use the provided allocation order, and they can never return hints outside the order. This is already documented in TargetRegisterInfo.h. <rdar://problem/13240556> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175540 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
7dcb23a0522eb23c3a50f6c8249f10ccdf214993 |
|
09-Feb-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove unneeded "TargetMachine.h" #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
f7999fe1cb2c2bdb0a4080efabb4743719ce45ca |
|
04-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Speed up the AllocationOrder class a bit. Allow the central functions to be inlined, and use the argumentless isHint() function when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
a1514e24cc24b050f53a12650e047799358833a1 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort includes for all of the .h files under the 'lib' tree. These were missed in the first pass because the script didn't yet handle include guards. Note that the script is now able to handle all of these headers without manual edits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
fc29db1214736d6ed84d60707db28de346af3feb |
|
03-Dec-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use the new getRegAllocationHints() hook from AllocationOrder. This simplifies the hinting code quite a bit while making the targets easier to write at the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
39b5c0c049a19c7a7feffc9506da07923cc136e4 |
|
29-Nov-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use MCPhysReg for RegisterClassInfo allocation orders. This saves a bit of memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.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/AllocationOrder.cpp
|
14d1dd95c7c969e07defebb6fe65df2fae1b30cf |
|
16-Oct-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove RegisterClassInfo::isReserved() and isAllocatable(). Clients can use the equivalent functions in MRI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
1525260b3e50cc578939ef41b60609689eecfdd2 |
|
06-Jun-2012 |
Andrew Trick <atrick@apple.com> |
Move RegisterClassInfo.h. Allow targets to access this API. It's required for RegisterPressure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158102 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
b6632ba380cf624e60fe16b03d6e21b05dd07724 |
|
04-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint16_t instead of unsigned to store registers in reg classes. Reduces static data size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
dd5a8471526ceadf9bceb1a1221299b3db49c33a |
|
17-Jun-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Rename TRI::getAllocationOrder() to getRawAllocationOrder(). Also switch the return type to ArrayRef<unsigned> which works out nicely for ARM's implementation of this function because of the clever ArrayRef constructors. The name change indicates that the returned allocation order may contain reserved registers as has been the case for a while. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
a46a100945c839a9b9baa6da0dcafafcd42d1085 |
|
06-Jun-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Get allocation orders from RegisterClassInfo when possible. Only target-dependent hints require callbacks. The RCI allocation order has CSR aliases last according to their order of appearance in the getCalleeSavedRegs list. This can depend on the calling convention. This way, AllocationOrder::next doesn't have to check for reserved registers, and CSRs are always allocated last, even with weird calling conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
5f2316a3b55f88dab2190212210770180a32aa95 |
|
03-Jun-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Switch AllocationOrder to using RegisterClassInfo instead of a BitVector of reserved registers. Use RegisterClassInfo in RABasic as well. This slightly changes som allocation orders because RegisterClassInfo puts CSR aliases last. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132581 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
c9df025e33ac435adb3b3318d237c36ca7cec659 |
|
10-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Simplify a bunch of isVirtualRegister() and isPhysicalRegister() logic. These functions not longer assert when passed 0, but simply return false instead. No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
dd479e9769eceee9fcc34e2173376024f3aa3c5f |
|
10-Dec-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use AllocationOrder in RegAllocGreedy, fix a bug in the hint calculation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|
c9672cb8bea13fcbcbdb1cf26708d831c034c089 |
|
10-Dec-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add an AllocationOrder class that can iterate over the allocatable physical registers for a given virtual register. Reserved registers are filtered from the allocation order, and any valid hint is returned as the first suggestion. For target dependent hints, a number of arcane target hooks are invoked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AllocationOrder.cpp
|