llvm/test
Sanjay Patel 2c5b9e376b [ARM] don't transform an add(ext Cond), C to select unless there's a setcc of the condition
The transform in question claims to be doing:

// fold (add (select cc, 0, c), x) -> (select cc, x, (add, x, c))

...starting in PerformADDCombineWithOperands(), but it wasn't actually checking for a setcc node
for the sext/zext patterns.

This is exactly the opposite of a transform I'd like to add to DAGCombiner's foldSelectOfConstants(),
so I was seeing infinite loops with my draft of a patch applied.

The changes in select_const.ll look positive (less instructions). The change in arm-and-tst-peephole.ll
is unrelated. We're changing the input IR in that test to preserve the intent of the test, but that's 
not affected by this code change.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@296389 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-27 21:30:54 +00:00
..
Analysis [ValueTracking] Make poison propagation more aggressive 2017-02-22 06:52:32 +00:00
Assembler Move inline asm diags tests to an ARM directory. 2017-02-08 16:48:35 +00:00
Bindings
Bitcode IR: Function summary extensions for whole-program devirtualization pass. 2017-02-10 22:29:38 +00:00
BugPoint [IR/Verifier] List the CU we weren't able to find in llvm.dbg.cu. 2017-02-20 22:51:42 +00:00
CodeGen [ARM] don't transform an add(ext Cond), C to select unless there's a setcc of the condition 2017-02-27 21:30:54 +00:00
DebugInfo [IR/Verifier] Don't visit DISubprograms more than needed. 2017-02-18 03:02:44 +00:00
Examples
ExecutionEngine RuntimeDyldELF/AArch64: Implement basic GOT support 2017-02-06 15:31:28 +00:00
Feature
FileCheck
Instrumentation [msan] Fix instrumentation of array allocas. 2017-02-24 00:13:17 +00:00
Integer
JitListener
LibDriver
Linker Verifier: Disallow a line number without a file in DISubprogram 2017-02-17 23:57:42 +00:00
LTO Implement intrinsic mangling for literal struct types. 2017-02-15 23:16:20 +00:00
MC AMDGPU: Add some of the new gfx9 VOP3 instructions 2017-02-27 21:04:41 +00:00
Object Write to a temporary file in test instead of random file in the test directory. 2017-02-22 09:02:27 +00:00
ObjectYAML
Other s/REQUIRES: Asserts/REQUIRES: asserts/ 2017-02-19 23:26:00 +00:00
SymbolRewriter
TableGen [globalisel] Decouple src pattern operands from dst pattern operands. 2017-02-24 15:43:30 +00:00
ThinLTO/X86 Verifier: Disallow a line number without a file in DISubprogram 2017-02-17 23:57:42 +00:00
tools [XRAY] A Color Choosing helper for XRay Graph 2017-02-25 00:26:42 +00:00
Transforms [SLP] Use different flags in tests for reduction ops and extra args. 2017-02-27 20:22:44 +00:00
Unit
Verifier Revert "Teach the IR verifier to reject conflicting debug info for function arguments." 2017-02-23 19:13:48 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh