llvm-6502/utils
Jakob Stoklund Olesen 77f8274c7d Intern all RecTy subclass instances to avoid duplicates.
Make all of the RecTy constructors private, and use get() factory
methods instead. Return singleton instances when it makes sense.

ListTy instance pointers are stored in the element RecTy instance.

BitsRecTy instance pointers, one per length, are stored in a static vector.

Also unique DefInit instances. A Record has a unique DefInit which
has a unique RecordRecTy instance.

This saves some 200k-300k RecTy allocations when parsing ARM.td. It
reduces TableGen's heap usage by almost 50%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-18 17:02:57 +00:00
..
bugpoint
buildit
count
crosstool
emacs
FileCheck
FileUpdate
fpcmp
git
jedit
kate
KillTheDoctor
lint
lit lit/LitConfig.py: Demote Win32 message "Unable to find 'bash.exe'" from Warning to Note. 2011-07-09 07:19:50 +00:00
llvm-lit
Misc
not
PerfectShuffle
release
TableGen Intern all RecTy subclass instances to avoid duplicates. 2011-07-18 17:02:57 +00:00
Target/ARM
unittest
valgrind
vim
cgiplotNLT.pl
check-each-file
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion
getsrcs.sh
importNLT.pl
llvm-native-gcc
llvm-native-gxx
llvm.grm Add a new function attribute, nonlazybind, which inhibits lazy-loading 2011-06-15 20:36:13 +00:00
llvmbuild Allow tagless builds and fix debug build configuration. 2011-07-06 16:54:14 +00:00
llvmdo
llvmgrep
Makefile
makellvm
NewNightlyTest.pl
NightlyTest.gnuplot
NightlyTestTemplate.html
NLT.schema
parseNLT.pl
plotNLT.pl
profile.pl
show-diagnostics
test_debuginfo.pl
UpdateCMakeLists.pl
webNLT.pl