llvm-mirror/lib
Oliver Stannard 4ff6a9f924 [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
..
Analysis Remove duplicate documentation in ConstantFolding.cpp. NFC. 2016-01-23 22:49:54 +00:00
AsmParser Implemented Support of IA interrupt and exception handlers: 2015-12-21 14:07:14 +00:00
Bitcode [Bitcode] Insert the darwin wrapper at the beginning of a file when the 2016-01-23 16:02:10 +00:00
CodeGen Fixed few comments. 2016-01-24 08:18:55 +00:00
DebugInfo Fix instance of -Wcovered-switch-default 2016-01-13 20:39:22 +00:00
ExecutionEngine [RuntimeDyld][AArch64] Add support for the MachO ARM64_RELOC_SUBTRACTOR reloc. 2016-01-21 21:59:50 +00:00
Fuzzer [libFuzzer] add -abort_on_timeout option 2016-01-23 19:34:19 +00:00
IR Remove duplicate documentation in Attributes.cpp. NFC. 2016-01-23 22:42:24 +00:00
IRReader [ThinLTO] Metadata linking for imported functions 2015-12-17 17:14:09 +00:00
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor
Linker [ThinLTO] Do metadata linking during batch function importing 2016-01-22 00:15:53 +00:00
LTO [LTO] Fix error reporting when a file passed to libLTO is invalid or non-existent 2016-01-20 09:03:42 +00:00
MC [COFF] Simplify SetSectionName 2016-01-24 20:46:11 +00:00
Object [Object][COFF] Revert r258665 - It doesn't do what I had intended. 2016-01-25 01:21:45 +00:00
Option Convert Arg, ArgList, and Option to dump() to dbgs() rather than errs(). 2015-12-18 18:55:26 +00:00
Passes [attrs] Extract the pure inference of function attributes into 2015-12-27 08:41:34 +00:00
ProfileData [PGO] Remove use of static variable. /NFC 2016-01-22 20:25:56 +00:00
Support Added Skylake client to X86 targets and features 2016-01-24 10:41:28 +00:00
TableGen [TableGen] Use FoldingSets instead of DenseMaps to unique UnOpInit, BinOpInit and TernOpInit. This remove the memory needed to store the key for the DenseMap. NFC 2016-01-18 20:36:06 +00:00
Target [TableGen] Fix sort order of asm operand classes 2016-01-25 10:20:19 +00:00
Transforms [LoopSimplify] Reuse changeToUnreachable 2016-01-24 19:32:52 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile