llvm-project/llvm/test/CodeGen
Nikita Popov 3db93ac5d6 Reapply [ValueTracking] Support min/max selects in computeConstantRange()
Add support for min/max flavor selects in computeConstantRange(),
which allows us to fold comparisons of a min/max against a constant
in InstSimplify. This fixes an infinite InstCombine loop, with the
test case taken from D59378.

Relative to the previous iteration, this contains some adjustments for
AMDGPU med3 tests: The AMDGPU target runs InstSimplify prior to codegen,
which ends up constant folding some existing med3 tests after this
change. To preserve these tests a hidden -amdgpu-scalar-ir-passes option
is added, which allows disabling scalar IR passes (that use InstSimplify)
for testing purposes.

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

llvm-svn: 357870
2019-04-07 17:22:16 +00:00
..
AArch64 [SelectionDAG] Add fcmp UNDEF handling to SelectionDAG::FoldSetCC 2019-04-05 14:56:21 +00:00
AMDGPU Reapply [ValueTracking] Support min/max selects in computeConstantRange() 2019-04-07 17:22:16 +00:00
ARC [ARC] Add ARCOptAddrMode pass to generate postincrement loads/stores. 2019-03-20 20:06:21 +00:00
ARM [SelectionDAG] Add fcmp UNDEF handling to SelectionDAG::FoldSetCC 2019-04-05 14:56:21 +00:00
AVR [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
BPF [BPF] add proper multi-dimensional array support 2019-03-28 21:59:49 +00:00
Generic Fix nondeterminism introduced in r353954 2019-03-26 12:18:08 +00:00
Hexagon [Hexagon] Remove fcmp undef from reduced tests 2019-03-29 19:14:52 +00:00
Inputs
Lanai
MIR [X86] Merge the different Jcc instructions for each condition code into single instructions that store the condition code as an operand. 2019-04-05 19:28:09 +00:00
MSP430 [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
Mips [MIPS GlobalISel] Select floating point arithmetic operations 2019-04-03 14:12:59 +00:00
NVPTX [NVPTX] Fix the codegen for llvm.round. 2019-04-01 16:10:26 +00:00
PowerPC [SelectionDAG] Compute known bits of CopyFromReg 2019-04-05 07:44:09 +00:00
RISCV [RISCV] Implement adding a displacement to a BlockAddress 2019-04-05 08:40:57 +00:00
SPARC [SelectionDAG] Add fcmp UNDEF handling to SelectionDAG::FoldSetCC 2019-04-05 14:56:21 +00:00
SystemZ [SelectionDAG] Compute known bits of CopyFromReg 2019-04-05 07:44:09 +00:00
Thumb [ARM] Optimize expressions like "return x != 0;" for Thumb1. 2019-04-02 00:01:23 +00:00
Thumb2 [ARM] Add missing memory operands to a bunch of instructions. 2019-03-25 22:42:30 +00:00
WebAssembly [WebAssembly] Add new explicit relocation types for PIC relocations 2019-04-04 17:43:50 +00:00
WinCFGuard
WinEH Fix invalid target triples in tests. (NFC) 2019-03-04 23:37:41 +00:00
X86 [X86][SSE] SimplifyDemandedBitsForTargetNode - Add initial PACKSS support 2019-04-07 10:40:01 +00:00
XCore [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00