45c5c57179e8b4938042431f8e12c9bfad67b3c8 |
|
06-Sep-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow overlaps between virtreg and physreg live ranges. The RegisterCoalescer understands overlapping live ranges where one register is defined as a copy of the other. With this change, register allocators using LiveRegMatrix can do the same, at least for copies between physical and virtual registers. When a physreg is defined by a copy from a virtreg, allow those live ranges to overlap: %CL<def> = COPY %vreg11:sub_8bit; GR32_ABCD:%vreg11 %vreg13<def,tied1> = SAR32rCL %vreg13<tied0>, %CL<imp-use,kill> We can assign %vreg11 to %ECX, overlapping the live range of %CL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
a7542d5f870c5d98960d1676e23ac1d1d975d7e5 |
|
06-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused private fields found by clang's new -Wunused-private-field. There are some that I didn't remove this round because they looked like obvious stubs. There are dead variables in gtest too, they should be fixed upstream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158090 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
94b62ac5f3b2732251f164ee6feab2dd1a4b967f |
|
15-May-2012 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Extend the CoalescerPair interface to handle symmetric sub-register copies. Now both SrcReg and DstReg can be sub-registers of the final coalesced register. CoalescerPair::setRegisters still rejects such copies because RegisterCoalescer doesn't yet handle them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
6fa87df0d6948d9957eb16042b088e9d6e859854 |
|
13-Mar-2012 |
Lang Hames <lhames@gmail.com> |
Fixed typo in comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
7842a741eb0e1baa35af8c3bb5884655c1edaa9e |
|
17-Feb-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
c19e6dd64fe4fa825c8d79e1d097e301c66eaf72 |
|
09-Aug-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Rename member variables to follow coding standards. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
8e0cca6945ec09bad0decf34ecd832f7e84dc7f1 |
|
09-Aug-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Move the RegisterCoalescer private to its implementation file. RegisterCoalescer.h still has the CoalescerPair class interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137088 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
e4709777e38b58b856cf8395e071a3326d50a402 |
|
27-Jul-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Eliminate copies of undefined values during coalescing. These copies would coalesce easily, but the resulting value would be defined by a deleted instruction. Now we also remove the undefined value number from the destination register. This fixes PR10503. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
ef17e01725740a91bd12723520f6edb2f12526d2 |
|
30-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
00258d17cd7152237141648d26e1b096cf0e882b |
|
29-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
make compose and isMoveInstr static functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
ca08dcc4834341e44abf02b92a67ac7d1a708e1d |
|
27-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
5b220213bfe9c37c2bb41a7ae0804e06a14f1007 |
|
27-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
There is only one register coalescer. Merge it into the base class and remove the analysis group. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
b0efa94fb63d55c7aa5eb3c7c23d39a763036c24 |
|
26-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
merge SimpleRegisterCoalescing.h into RegisterCoalescer.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|
fdf16ca44f130afe80c57481d0c08130aa08cc09 |
|
26-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move RegisterCoalescer.h to lib/CodeGen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/RegisterCoalescer.h
|