1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/utils
Quentin Colombet 279d883daa [TableGen][AsmWriterEmitter] Use a deterministic order to sort InstrAliases
Inside an alias group, when ordering instruction aliases, we rely
on the priority field to sort them.
When the priority is not set or more generally when there is a tie between
two aliases, we used to rely on the lexicographic order. However, this
order can change for the anonymous records when more instruction, intrinsic,
etc. are inserted.

For instance, given two anonymous records r1 and r2 with respective name
A_999 and A_1000, their lexicography order will be r2 then r1. Now, if
an instruction is added before them, their name will become respectively
A_1000 and A_1001, thus the lexicography order will be r1 then r2, i.e.,
it changed.

If that happens in an alias group, the assembly output would prefer a
different alias for no apparent good reasons.

A way to fix that is to use proper priority for all aliases, but we
can also make the tie breaker comparison smarter and use a deterministic
ordering. This is what this patch does.

llvm-svn: 294695
2017-02-10 02:43:09 +00:00
..
abtest
bugpoint
count
crosstool
emacs
FileCheck [FileCheck] Fix --strict-whitespace --match-full-lines 2016-12-18 20:45:59 +00:00
fpcmp
gdb-scripts GDB pretty printers: Basic DenseMap support 2016-12-16 23:53:14 +00:00
git
git-svn Remove extraneous space. 2016-12-20 05:49:56 +00:00
jedit
kate
KillTheDoctor KillTheDoctor.cpp: Appease cases on case-senstitive host, like mingw on linux. 2016-12-23 01:39:26 +00:00
lint
lit Reinstate "r292904 - [lit] Allow boolean expressions in REQUIRES and XFAIL 2017-01-25 02:26:03 +00:00
llvm-build
llvm-lit [utils] Add libc++ and libc++abi config to llvm-lit 2017-01-17 07:10:55 +00:00
LLVMVisualizers Improve natvis for llvm::SmallString so that it correctly displays only the valid portion of the string 2016-12-21 01:05:29 +00:00
Misc Delete mergefunctions.clang.svn.patch 2016-04-12 19:44:40 +00:00
not Remove unused header, NFC. 2016-12-01 19:38:48 +00:00
opt-viewer [opt-viewer] HTML-escape function names 2017-02-02 05:49:02 +00:00
PerfectShuffle
release build_llvm_package.bat: Build teh clang-format plugin separately 2017-02-08 20:58:33 +00:00
sanitizers Fix UBSan bots by blacklisting bits/stl_tree.h. 2017-01-13 17:30:10 +00:00
TableGen [TableGen][AsmWriterEmitter] Use a deterministic order to sort InstrAliases 2017-02-10 02:43:09 +00:00
Target/ARM
testgen
textmate
unittest [CMake] Fix pthread handling for out-of-tree builds 2017-02-10 01:59:20 +00:00
valgrind
vim [Utils] Update comment in vimrc 2017-01-31 21:33:21 +00:00
yaml-bench Timer: Track name and description. 2016-11-18 19:43:18 +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
codegen-diff Add debug variable. 2003-10-16 23:46:01 +00:00
countloc.sh remove attributions from utils. 2007-12-29 20:37:13 +00:00
create_ladder_graph.py
DSAclean.py
DSAextract.py
extract_symbols.py Handle non-inlined clang::Type::getAs specializations in extract_symbols.py 2016-11-14 17:07:09 +00:00
findmisopt
findoptdiff Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
findsym.pl
GenLibDeps.pl Remove bit-rotten CppBackend. 2016-05-05 14:35:40 +00:00
GetRepositoryPath
GetSourceVersion
getsrcs.sh remove attributions from utils. 2007-12-29 20:37:13 +00:00
lldbDataFormatters.py
llvm-compilers-check
llvm-native-gxx
llvm.grm
LLVMBuild.txt
llvmdo
llvmgrep Use -H on darwin as well. 2012-01-26 22:06:23 +00:00
makellvm
prepare-code-coverage-artifact.py [utils] coverage: Add help text about the --restrict flag (NFC) 2017-02-09 19:37:18 +00:00
schedcover.py
shuffle_fuzz.py
sort_includes.py
test_debuginfo.pl
update_llc_test_checks.py [utils] Improve extraction of check prefixes from RUN lines 2017-01-14 09:39:35 +00:00
update_test_checks.py Update update_test_checks so that . is a valid identifier character in addition to _ 2017-01-15 07:40:46 +00:00
UpdateCMakeLists.pl
wciia.py