1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib
Simon Pilgrim 9ecb59bace [X86][SSE] Resolve target shuffle inputs to sentinels to permit more combines
The combineX86ShufflesRecursively only supports unary shuffles, but was missing the opportunity to combine binary shuffles with a zero / undef second input.

This patch resolves target shuffle inputs, converting the shuffle mask elements to SM_SentinelUndef/SM_SentinelZero where possible. It then resolves the updated mask to check if we have created a faux unary shuffle.

Additionally, we now attempt to recursively call combineX86ShufflesRecursively for all input operands (we used to just recurse for unary integer shuffles and unary unpacks) - it safely returns early if its not a target shuffle.

Differential Revision: http://reviews.llvm.org/D16683

llvm-svn: 260063
2016-02-07 22:51:06 +00:00
..
Analysis CallAnalyzer::analyzeCall: change the condition back to "Cost < Threshold" 2016-02-05 20:32:42 +00:00
AsmParser Remove autoconf support 2016-01-26 21:29:08 +00:00
Bitcode [ThinLTO] Include linkage type in function summary 2016-02-06 16:07:35 +00:00
CodeGen [StatepointLower] Use None instead of Optional<int>() 2016-02-05 23:40:04 +00:00
DebugInfo [DebugInfo] Eliminate compilation warning about used variable LSDA 2016-02-05 09:24:34 +00:00
ExecutionEngine [Orc] Slightly improve the x86-64 resolver block machine code. 2016-02-06 00:55:08 +00:00
Fuzzer [libFuzzer] hot fix a test 2016-02-04 00:12:28 +00:00
IR Revert 259942, r259943, r259948. 2016-02-07 20:09:18 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Improve efficiency of handling unmapped subprogram metadata 2016-01-28 15:08:09 +00:00
LTO Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00
MC [MC] Add support for encoding CodeView variable definition ranges 2016-02-05 01:55:49 +00:00
Object Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00
Option Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Passes Remove autoconf support 2016-01-26 21:29:08 +00:00
ProfileData Move classes defined in a cpp file into an anonymous namespace. 2016-02-05 13:50:53 +00:00
Support [Support] Use range-based for loop. NFC 2016-02-04 06:51:41 +00:00
TableGen Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Target [X86][SSE] Resolve target shuffle inputs to sentinels to permit more combines 2016-02-07 22:51:06 +00:00
Transforms [X86][AVX512] add intrinsics of Scalar FP to integer conversion with rounding mode 2016-02-07 14:59:13 +00:00
CMakeLists.txt
LLVMBuild.txt