summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/Disassembler
Commit message (Collapse)AuthorAgeFilesLines
...
* Switch the fixed-length disassembler to be table-driven.Jim Grosbach2012-08-141-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 161888
* Reapply r158846.Akira Hatanaka2012-07-091-114/+77
| | | | | | | Access mips register classes via MCRegisterInfo's functions instead of via the TargetRegisterClasses defined in MipsGenRegisterInfo.inc. llvm-svn: 159953
* revert r159851.Akira Hatanaka2012-07-061-17/+67
| | | | llvm-svn: 159854
* Reapply r158846.Akira Hatanaka2012-07-061-67/+17
| | | | | | Include file MipsGenRegisterInfo.inc. llvm-svn: 159851
* Revert r158846.Akira Hatanaka2012-06-201-14/+67
| | | | llvm-svn: 158855
* In MipsDisassembler.cpp, instead of defining register class tables, use the onesAkira Hatanaka2012-06-201-67/+14
| | | | | | | | | | | 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. llvm-svn: 158846
* Use uint16_t to store registers in static tables. Matches other tables.Craig Topper2012-05-241-5/+5
| | | | llvm-svn: 157375
* Move MipsDisassembler classes into an anonymous namespace.Benjamin Kramer2012-05-011-0/+4
| | | | llvm-svn: 155915
* Delete latter half of CMakeLists.txt.Akira Hatanaka2012-04-171-15/+0
| | | | llvm-svn: 154936
* Add disassembler to MIPS. Akira Hatanaka2012-04-174-0/+621
| | | | | | Patch by Vladimir Medic. llvm-svn: 154935
* Revert r153924. Delete test/MC/Disassembler/Mips and ↵Akira Hatanaka2012-04-034-0/+0
| | | | | | lib/Target/Mips/Disassembler. llvm-svn: 153926
* Revert r153924. There were buildbot failures.Akira Hatanaka2012-04-034-660/+0
| | | | llvm-svn: 153925
* MIPS disassembler support.Akira Hatanaka2012-04-034-0/+660
Patch by Vladimir Medic. llvm-svn: 153924
OpenPOWER on IntegriCloud