llvm/test
Diana Picus 3bbcbfa075 [GlobalISel][TableGen] Fix handling of default operands
When looping through a destination pattern's operands to decide how many
default operands we need to introduce, we used to count the "expanded"
number of operands. So if one default operand would be rendered as 2
values, we'd count it as 2 operands, when in fact it needs to count as
only 1 operand regardless of how many values it expands to.

This turns out to be a problem only in some very specific cases, e.g.
when we have one operand with multiple default values followed by more
operands with default values (see the new test). In such a situation
we'd stop looping before looking at all the operands, and then error out
assuming that we don't have enough default operands to make up the
shortfall.

At the moment this only affects ARM.

The patch removes the loop counting default operands entirely and
assumes that we'll have to introduce values for any default operand that
we find (i.e. we're assuming it cannot be given as a child at all). It
also extracts the code for adding renderers for default operands into a
helper method.

Differential Revision: https://reviews.llvm.org/D33031

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303240 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-17 08:57:28 +00:00
..
Analysis [SCEV] Fix sorting order for AddRecExprs 2017-05-16 07:27:06 +00:00
Assembler
Bindings
Bitcode Add "REQUIRES:" to the last few tests that use target specific intrinsics 2017-05-15 22:15:22 +00:00
BugPoint
CodeGen Re-commit r302678, fixing PR33053. 2017-05-16 21:29:22 +00:00
DebugInfo [llvm-pdbdump] Add the option to sort functions and data. 2017-05-14 01:13:40 +00:00
Examples
ExecutionEngine [RuntimeDyld] Fix debug section relocation (pr20457) 2017-05-17 08:47:28 +00:00
Feature Test for r303197 2017-05-16 20:53:27 +00:00
FileCheck
Instrumentation MSan: Mark MemorySanitizer tests that use x86 intrinsics as REQUIRES: x86 2017-05-13 16:24:38 +00:00
Integer
JitListener
LibDriver
Linker
LTO Add support for handling ifuncs to GlobalValue::getBaseObject 2017-05-15 18:28:29 +00:00
MC AArch64: diagnose unrecognized features in .cpu directive. 2017-05-15 19:42:15 +00:00
Object Add support for handling ifuncs to GlobalValue::getBaseObject 2017-05-15 18:28:29 +00:00
ObjectYAML
Other
SymbolRewriter
TableGen [GlobalISel][TableGen] Fix handling of default operands 2017-05-17 08:57:28 +00:00
ThinLTO/X86
tools [llvm-pdbdump] Add the option to sort functions and data. 2017-05-14 01:13:40 +00:00
Transforms [coroutines] Handle spills before catchswitch 2017-05-17 03:09:22 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh