hanchenye-llvm-project/llvm/utils
Chris Lattner f91869b619 Switch pattern sorting predicate from stable sort -> sort, it
doesn't need to be stable because the patterns are fully ordered.

Add a first level sort predicate that orders patterns in this
order:  1) scalar integer operations 2) scalar floating point 
3) vector int 4) vector float.  This is a trivial sort on their
top level pattern type so it is nice and transitive.  The
benefit of doing this is that simple integer operations are
much more common than insane vector things and isel was trying
to match the big complex vector patterns before the simple
ones because the complexity of the vector operations was much
higher.  Since they can't both match, it is best (for compile
time) to try the simple integer ones first.

This cuts down the # failed match attempts on real code by
quite a bit, for example, this reduces backtracks on crafty
(as a random example) from 228285 -> 188369.

llvm-svn: 99797
2010-03-29 02:02:45 +00:00
..
FileCheck FileCheck: Don't print "possibly intended match" line if it would match the 2010-03-19 18:07:43 +00:00
FileUpdate Make LLVM command-line tools overwrite their output files without -f. 2009-08-25 15:34:52 +00:00
Misc Add a 'zkill' script, which is more-or-less a fancy (although not necessarily 2009-11-08 21:51:53 +00:00
PerfectShuffle Provide proper masks for neon perfect shuffle table. 2009-09-25 22:52:29 +00:00
TableGen Switch pattern sorting predicate from stable sort -> sort, it 2010-03-29 02:02:45 +00:00
bugpoint Require a remote command to exit with the exit status of the test program or with 255 if an error occurred. 2009-07-18 18:39:24 +00:00
buildit Use "DISABLE_EDIS" to disable building "edis" explicitly. Don't build it for 2010-03-23 22:15:33 +00:00
count Add count/not tools as executables. 2009-09-24 06:23:57 +00:00
crosstool * Use "svn export" instead of "svn co" and avoid cleaning up .svn dirs 2009-08-04 15:47:18 +00:00
emacs .llx is no more. 2009-12-19 20:56:53 +00:00
fpcmp
git Add simple script for finding most-recent-rev-before-N in a git-svn repo; useful 2010-02-25 18:07:07 +00:00
jedit Add TableGen syntax highlighting for the jEdit editor. 2009-03-14 10:15:32 +00:00
lint * Fixed spelling 2009-02-20 23:44:54 +00:00
lit lit: Add LitTestCase and lit.load_test_suite, for adapting lit based suites for 2010-03-25 07:10:01 +00:00
not Add count/not tools as executables. 2009-09-24 06:23:57 +00:00
unittest Continue propagating the GoogleTest flags until we can update our version to 2010-03-09 22:45:10 +00:00
valgrind Add a valgrind suppressions file for x86_64/linux/4.3.3. 2009-09-14 16:10:32 +00:00
vim Fix grammaro in a comment. 2010-02-26 21:45:37 +00:00
DSAclean.py
DSAextract.py
GenLibDeps.pl Filter the future all-of-llvm shared library out of the llvm-config 2010-02-25 01:21:38 +00:00
GetSourceVersion Make GetSourceVersion more portable, thanks Pawel! 2010-01-22 18:14:21 +00:00
Makefile Add count/not tools as executables. 2009-09-24 06:23:57 +00:00
NLT.schema
NewNightlyTest.pl NNT: Add -nouname option, so machine uniquing can occur across physical machines. 2010-03-16 15:53:02 +00:00
NightlyTest.gnuplot
NightlyTestTemplate.html
OldenDataRecover.pl
RegressionFinder.pl
UpdateCMakeLists.pl Recognize 'add_executable' when analyzing CMake files. 2010-01-29 01:10:55 +00:00
cgiplotNLT.pl
check-each-file
codegen-diff
countloc.sh
findmisopt
findoptdiff Auto-upgrade free instructions to calls to the builtin free function. 2009-10-24 04:23:03 +00:00
findsym.pl
getsrcs.sh
importNLT.pl
llvm-native-gcc
llvm-native-gxx
llvm.grm Add the alignstack keyword. 2010-03-01 17:53:39 +00:00
llvmdo .llx is no more. 2009-12-19 20:56:53 +00:00
llvmgrep search unittests. 2009-08-24 03:44:02 +00:00
makellvm
mkpatch update mkpatch for MC, patch by Aaron Gray 2010-03-12 06:32:12 +00:00
parseNLT.pl
plotNLT.pl
profile.pl
userloc.pl
webNLT.pl