llvm-6502/utils
Jim Grosbach fc1a161d76 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
2012-08-14 19:06:05 +00:00
..
bugpoint
buildit Use the final .version number for LLVM_MINOR_VERSION in Apple llvmCore builds. 2012-08-10 00:25:30 +00:00
count
crosstool
emacs Remove bad comma from .el file. 2012-02-22 19:38:03 +00:00
FileCheck
FileUpdate
fpcmp
git
jedit
kate
KillTheDoctor Remove dead code. Improve llvm_unreachable text. Simplify some control flow. 2012-02-19 11:37:01 +00:00
lint
lit lit: Use close_fds=True on UNIX, to avoid file descriptor pollution of 2012-07-20 18:29:34 +00:00
llvm-build Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
llvm-lit llvm-lit: Inject the lit module path at the beginning of sys.path, just in case 2012-04-19 16:31:08 +00:00
Misc
not
obj2yaml [obj2yaml] Print the Relocations header. 2012-07-31 22:04:08 +00:00
PerfectShuffle
release Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
TableGen Switch the fixed-length disassembler to be table-driven. 2012-08-14 19:06:05 +00:00
Target/ARM
unittest Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
valgrind
vim Add the half type to the LLVM IR vim syntax highlighting. 2012-05-03 17:24:12 +00:00
yaml2obj Remove redundant '== true' after a comparison. 2012-08-02 23:22:39 +00:00
yaml-bench Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py
findmisopt Remove llvm-ld and llvm-stub (which is only used by llvm-ld). 2012-04-19 19:27:54 +00:00
findoptdiff
findsym.pl
GenLibDeps.pl Remove the C backend. 2012-03-23 05:50:46 +00:00
GetRepositoryPath [utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn 2012-05-15 18:44:09 +00:00
GetSourceVersion [utils] Fix Get{RepositoryPath,SourceVersion} to have a more robust is-git-svn 2012-05-15 18:44:09 +00:00
getsrcs.sh
lldbDataFormatters.py
llvm-compilers-check
llvm-native-gcc
llvm-native-gxx
llvm.grm [ms-inline asm] Add a new Inline Asm Non-Standard Dialect attribute. 2012-08-10 00:00:22 +00:00
LLVMBuild.txt
llvmdo
llvmgrep
Makefile Add yaml2obj. A utility to convert YAML to binaries. 2012-08-02 19:16:56 +00:00
makellvm
profile.pl
test_debuginfo.pl Fix a "Bad fd number" error on some platforms due to a less portable 2012-07-23 20:54:17 +00:00
UpdateCMakeLists.pl Use regex instead of special casing clang and llvm libraries. 2012-07-31 18:23:44 +00:00