fc1a161d76f5cc0204bed3bce3e27cf36ac76d22 |
|
14-Aug-2012 |
Jim Grosbach <grosbach@apple.com> |
Switch the fixed-length disassembler to be table-driven. Refactor the TableGen'erated fixed length disassemblmer to use a table-driven state machine rather than a massive set of nested switch() statements. As a result, the ARM Disassembler (ARMDisassembler.cpp) builds much more quickly and generates a smaller end result. For a Release+Asserts build on a 16GB 3.4GHz i7 iMac w/ SSD: Time to compile at -O2 (averaged w/ hot caches): Previous: 35.5s New: 8.9s TEXT size: Previous: 447,251 New: 297,661 Builds in 25% of the time previously required and generates code 66% of the size. Execution time of the disassembler is only slightly slower (7% disassembling 10 million ARM instructions, 19.6s vs 21.0s). The new implementation has not yet been tuned, however, so the performance should almost certainly be recoverable should it become a concern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
241b77fa451f8076e47c37212028454ad52ece15 |
|
09-Jul-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Reapply r158846. Access mips register classes via MCRegisterInfo's functions instead of via the TargetRegisterClasses defined in MipsGenRegisterInfo.inc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
63d10fbc89c02758cd91e3b53749e55c2bd0cf65 |
|
06-Jul-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
revert r159851. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
e32cc0d5456eb7beb4030f0c0205c724a485ff31 |
|
06-Jul-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Reapply r158846. Include file MipsGenRegisterInfo.inc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
02a227af91889d39f5e811e2e27ecce8144499eb |
|
20-Jun-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Revert r158846. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
b66510f309077d9f616462a1696f712236ce5a22 |
|
20-Jun-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
In MipsDisassembler.cpp, instead of defining register class tables, use the ones that are generated by TableGen and are already available in MipsGenRegisterInfo.inc. Suggested by Jakob Stoklund Olesen. Also, fix bug in function DecodeAFGR64RegisterClass. Patch by Vladimir Medic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
c5ce4d1d52a30c52c2ffa8d281e874db4d7f3eda |
|
24-May-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint16_t to store registers in static tables. Matches other tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
0998627b24a1f183920e782abf717e25cbb1a5f5 |
|
01-May-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Move MipsDisassembler classes into an anonymous namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155915 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
ecdc9d5bb26936a68060f1238abc6c1d6b3c2a01 |
|
17-Apr-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Add disassembler to MIPS. Patch by Vladimir Medic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154935 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
9dd16d41a2fb5f7db2e2bd87ee8181159284254c |
|
03-Apr-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Revert r153924. Delete test/MC/Disassembler/Mips and lib/Target/Mips/Disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
02365945a62f368c18547da57a4ef3382beb89d0 |
|
03-Apr-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Revert r153924. There were buildbot failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|
885020a7a7299c0cfc12f691bc298e0f41d02190 |
|
03-Apr-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
MIPS disassembler support. Patch by Vladimir Medic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
|