llvm-project/llvm/test
Sanjay Patel 6592bcecd4 [x86] invert a vector select IR canonicalization with a binop identity constant
This is an intentionally limited/different form of D90113.
That patch bravely tries to generalize folds where we pull
a binop into the arms of a select:
N0 + (Cond ? 0 : FVal) --> Cond ? N0 : (N0 + FVal)
...but it is not universally profitable.

This is the inverse of IR canonicalization as discussed in
D113442.

We know that this transform is not entirely profitable even
within x86, so we only handle x86 vector fadd/fsub as a 1st
step. The intent is to prevent AVX512 regressions as mentioned
in D113442.

The plan is to port this to DAGCombiner (so it will eventually
look more like D90113) and add more types/cases in pieces with
many more tests to verify that we are seeing improvements.

Differential Revision: https://reviews.llvm.org/D118644
2022-02-02 08:17:53 -05:00
..
Analysis [LAA] Add Memory dependence remarks. 2022-02-02 12:07:51 +00:00
Assembler [IR] Support ifuncs in opaque pointer mode 2022-01-27 13:01:33 +01:00
Bindings Disable Go binding test on AIX 2022-01-25 12:39:01 -05:00
Bitcode [DebugInfo] Add stringLocationExp field to DIStringType 2022-01-26 11:56:57 -05:00
BugPoint
CodeGen [x86] invert a vector select IR canonicalization with a binop identity constant 2022-02-02 08:17:53 -05:00
DebugInfo Re-apply 3fab2d138e, now with a triple added 2022-02-02 11:04:00 +00:00
Demangle
Examples
ExecutionEngine reapply de87238295 "[JITLink] Add anonymous symbols in LinkGraph..." 2022-01-22 20:50:36 +08:00
Feature Fix incorrect inference of writeonly despite reading operand bundle 2022-01-18 12:34:18 -08:00
FileCheck
Instrumentation [hwasan] work around lifetime issue with setjmp. 2022-02-01 12:14:20 -08:00
Integer
JitListener
LTO [test] Fix no-undef-type-md.ll. 2022-01-24 12:01:25 -08:00
Linker [AIX] Bump DWARF versions to 3 because XCOFF64 requires DWARF64 2022-02-01 11:18:19 -05:00
MC Revert "[WebAssembly] Refactor and fix emission of external IR global decls" 2022-01-31 12:20:56 -08:00
MachineVerifier
Object [AIX] Support of Big archive (read) 2022-01-18 12:13:01 -05:00
ObjectYAML
Other [PassBuilder] Add OpenMPOpt to default LTO pipeline 2022-01-31 23:11:43 -05:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen Use {LITERAL} instead of regex escaping in some lit tests. NFC. 2022-01-14 10:55:00 +00:00
ThinLTO/X86 [Support] [DebugInfo] Lazily create cache dir. 2022-01-20 19:27:15 +00:00
Transforms Revert "[SLP]Alternate vectorization for cmp instructions." 2022-02-02 13:08:51 +01:00
Unit
Verifier [NFC] Use llvm-as instead of llc 2022-02-01 13:07:22 -06:00
YAMLParser
tools [NFC] These tests require a default target 2022-02-01 13:18:39 -06:00
.clang-format
CMakeLists.txt [MLGO] Don't run the 'release' mode tests in non-autogenerated cases 2022-01-19 17:59:06 -08:00
TestRunner.sh
lit.cfg.py [MLGO] Don't run the 'release' mode tests in non-autogenerated cases 2022-01-19 17:59:06 -08:00
lit.site.cfg.py.in [MLGO] Don't run the 'release' mode tests in non-autogenerated cases 2022-01-19 17:59:06 -08:00