llvm-6502/utils
Bill Schmidt 6536b834f8 Change order of tablegen generated fast-isel instruction code to be
based on instruction complexity

The order that tablegen fast-isel instruction code is generated is
currently based on the text of the predicate (using string
less-than). This patch changes this to instead use the instruction
complexity. Because the complexities are not unique a C++ multimap is
used instead of a map.

This fixes the problem where code with no predicate always comes out
first (the empty string always compares as less than all other
strings) thus making the code with predicates dead code. See the FMUL
code in PPCFastISel.cpp for an example. It also more closely matches
the normal codegen ordering. Some error checking in the tablegen
fast-isel code is fixed as well.

Patch by Bill Seurer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222038 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-14 21:05:45 +00:00
..
bugpoint
buildit ARM64: initial backend import 2014-03-29 10:18:08 +00:00
count Install three utils, "FileCheck", "count", and "not", for now to appease llvmlab dragonegg builder. 2013-12-20 06:25:37 +00:00
crosstool
emacs IR: Implement uselistorder assembly directives 2014-08-19 21:30:15 +00:00
FileCheck Return a std::unique_ptr when creating a new MemoryBuffer. 2014-08-27 20:03:13 +00:00
fpcmp Don't use PathV1.h in FileUtilities.h. 2013-06-13 20:41:00 +00:00
git [utils] Update find-rev utility to take a branch argument (name of the git-svn 2013-01-17 18:57:21 +00:00
git-svn Update git-svnrevert to accept git and svn revisions 2014-10-08 09:32:47 +00:00
jedit
kate Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
KillTheDoctor Remove broken include. 2014-06-13 15:21:50 +00:00
lint
lit Handle ASAN_OPTIONS and UBSAN_OPTIONS in TestingConfig.py 2014-11-03 23:04:56 +00:00
llvm-build Fix build with CMake if LLVM_USE_INTEL_JITEVENTS option is enabled 2014-10-29 09:18:49 +00:00
llvm-lit [testing]: lld generally lives in tools/, so fix llvm-lit. 2014-07-07 15:26:53 +00:00
Misc Patch that forces MergeFunctions pass for clang. 2013-09-24 20:06:31 +00:00
not Use findProgramByName. 2014-11-04 01:29:59 +00:00
PerfectShuffle [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
release Use 'xz' compression instead of 'gz'. 2014-08-26 08:11:22 +00:00
TableGen Change order of tablegen generated fast-isel instruction code to be 2014-11-14 21:05:45 +00:00
Target/ARM
testgen [MC] bundle alignment: prevent padding instructions from crossing bundle boundaries 2013-01-31 17:00:03 +00:00
textmate Add highlighting for "int" keyword 2013-01-08 16:23:02 +00:00
unittest Reverted r203879. 2014-03-14 01:56:55 +00:00
valgrind valgrind/x86_64-pc-linux-gnu.supp: Suppress also /bin/bash. 2014-09-24 04:38:20 +00:00
vim IR: Implement uselistorder assembly directives 2014-08-19 21:30:15 +00:00
yaml-bench Remove some calls to std::move. 2014-08-01 14:31:55 +00:00
bisect Add a small utility called bisect that enables commandline bisecting on a counter. 2014-08-02 01:39:08 +00:00
check-each-file
clang-parse-diagnostics-file [utils] Tweak utils/clang-parse-diagnostics-file to ignore autoconf diagnostics. 2012-12-22 00:47:06 +00:00
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
findmisopt Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
findoptdiff
findsym.pl
GenLibDeps.pl Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00
GetRepositoryPath Fix the build for git repositories with multiple remotes. 2013-09-16 09:25:49 +00:00
GetSourceVersion
getsrcs.sh
lldbDataFormatters.py utils: Teach lldbDataFormatters how to format ArrayRefs 2014-09-11 01:47:38 +00:00
llvm-compilers-check Remove bogus configure check 2014-06-19 19:31:11 +00:00
llvm-native-gxx
llvm.grm Remove the linker_private and linker_private_weak linkages. 2014-03-13 23:18:37 +00:00
llvm.natvis Use correct memeber when displaying StringMap's size. 2014-07-09 05:34:24 +00:00
LLVMBuild.txt
llvmdo
llvmgrep
Makefile Delete utils/FileUpdate. 2014-06-23 17:58:39 +00:00
makellvm
shuffle_fuzz.py [shuffle] Teach the shufflevector fuzzer to support fixed element types. 2014-08-17 00:40:31 +00:00
sort_includes.py Teach sort_includes.py to drop duplicated includes. 2012-12-21 18:00:08 +00:00
test_debuginfo.pl test_debuginfo.pl: Make failures easier to debug by printing the debugger 2014-02-20 19:55:44 +00:00
UpdateCMakeLists.pl Generalize matching of add_executable to add_XXX_executable. 2012-11-22 07:48:52 +00:00
wciia.py Fix known typos 2014-01-24 17:20:08 +00:00