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
Assembler
Bindings
Bitcode
BugPoint
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
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
LibDriver
Linker
LTO
MC AMDGPU: Add some of the new gfx9 VOP3 instructions 2017-02-27 21:04:41 +00:00
Object
ObjectYAML
Other
SymbolRewriter
TableGen
ThinLTO/X86
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
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh