llvm-project/llvm/utils
Oliver Stannard 7772f023b5 [TableGen] Fix sort order of asm operand classes
This is a fix for https://llvm.org/bugs/show_bug.cgi?id=22796.

The previous implementation of ClassInfo::operator< allowed cycles of classes
such that x < y < z < x, meaning that a list of them cannot be correctly
sorted, and the sort order could differ with different standard libraries.

The original implementation sorted classes by ValueName if they were otherwise
equal. This isn't strictly necessary, but some backends seem to accidentally
rely on it. If I reverse this comparison I get 8 test failures spread across
the AArch64, Mips and X86 backends, so I have left it in until those backends
can be fixed.

There was one case in the X86 backend where the observable behaviour of the
assembler is changed by this patch. This was because some of the memory asm
operands were not marked as children of X86MemAsmOperand.

Differential Revision: http://reviews.llvm.org/D16141

llvm-svn: 258677
2016-01-25 10:20:19 +00:00
..
FileCheck StringRef-ify some Option APIs 2015-11-17 19:00:52 +00:00
KillTheDoctor Modernize to range-based loop 2016-01-07 07:58:25 +00:00
Misc
PerfectShuffle Reordering fields to reduce padding in LLVM. NFC 2015-12-14 21:57:05 +00:00
TableGen [TableGen] Fix sort order of asm operand classes 2016-01-25 10:20:19 +00:00
Target/ARM
bugpoint
buildit
count
crosstool
emacs Cleaning up LLVM IR mode for Emacs. 2015-09-10 13:44:28 +00:00
fpcmp
git
git-svn Improve check on git-svnrevert, better error message 2015-05-16 10:23:48 +00:00
jedit Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
kate Rename all references to old mailing lists to new lists.llvm.org address. 2015-08-05 03:51:17 +00:00
lint
lit [lit] Fix handling of per test timeout when the installed psutil version 2016-01-13 16:43:49 +00:00
llvm-build Fix Clang-tidy modernize-use-nullptr warnings in source directories and generated files; other minor cleanups. 2015-10-06 23:24:35 +00:00
llvm-lit Revert r229224: Make the 'llvm-lit' utility defend against a system where Python3 2015-02-14 07:11:25 +00:00
not
release In test-release.sh, only run `uname -s` once. NFC. 2016-01-21 22:07:17 +00:00
testgen
textmate
unittest Fix undefined behavior in llvm's local changes to googletest. 2016-01-19 21:22:36 +00:00
valgrind
vim [vim] Add token type to Vim syntax file. 2015-12-28 19:51:04 +00:00
yaml-bench YAML: Implement block scalar parsing. 2015-05-13 23:10:51 +00:00
DSAclean.py
DSAextract.py
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion
LLVMBuild.txt
Makefile Fix r236754: Add the missing yaml-bench dir to the makefile for utils. 2015-05-07 18:48:48 +00:00
UpdateCMakeLists.pl
bisect
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
create_ladder_graph.py Add ladder graph utility 2015-04-14 18:14:38 +00:00
findmisopt
findoptdiff
findsym.pl
getsrcs.sh
lldbDataFormatters.py utils: Teach lldbDataFormatters about llvm::Optional 2015-02-20 02:55:22 +00:00
llvm-compilers-check
llvm-native-gxx
llvm.grm
llvm.natvis
llvmdo
llvmgrep
makellvm
schedcover.py [MISched] Python script to check coverage of misched info 2015-10-12 08:50:47 +00:00
shuffle_fuzz.py [Utils] Updated shuffle fuzz script to generate more modern (valid) IR. 2015-11-22 16:04:32 +00:00
sort_includes.py Add polly support to sort_includes.py 2015-05-09 09:08:56 +00:00
test_debuginfo.pl
update_llc_test_checks.py Make utils/update_llc_test_checks.py note that the assertions are 2015-11-23 21:33:58 +00:00
wciia.py