llvm-project/llvm/lib
Sanjay Patel fa1c0fe478 [x86] try to form broadcast before widening shuffle elements
I noticed that we weren't generating broadcasts as much I thought we would with 
D54271, and this is part of the problem.

Widening the shuffle elements means adding bitcasts and hiding the relationship 
between a splatted scalar and the vector. If we can form a broadcast, do that 
before going through the rest of the shuffle lowering because broadcasts should 
be cheap and can often be load-folded.

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

llvm-svn: 346498
2018-11-09 14:54:58 +00:00
..
Analysis [SCEV][NFC] Verify IR in isLoop[Entry,Backedge]GuardedByCond 2018-11-08 05:07:58 +00:00
AsmParser [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
BinaryFormat Revert r343317 2018-09-28 17:01:50 +00:00
Bitcode [ThinLTO] Split NotEligibleToImport into legality and inlinability flags 2018-11-06 19:41:35 +00:00
CodeGen [SelectionDAG] swap select_cc operands to enable folding 2018-11-09 11:09:40 +00:00
DebugInfo [LLD] Fix Microsoft precompiled headers cross-compile on Linux 2018-11-08 14:42:37 +00:00
Demangle Fix clang -Wimplicit-fallthrough warnings across llvm, NFC 2018-11-01 19:54:45 +00:00
ExecutionEngine [ORC] Fix hex printing of uint64_t values. 2018-10-31 05:16:14 +00:00
FuzzMutate [New PM] Introducing PassInstrumentation framework 2018-09-20 17:08:45 +00:00
Fuzzer
IR [DebugInfo][Dexter] Unreachable line stepped onto after SimplifyCFG. 2018-11-09 09:42:10 +00:00
IRReader
LTO [LTO] Drop non-prevailing definitions only if linkage is not local or appending 2018-11-08 20:10:07 +00:00
LineEditor
Linker llvm-link: Improve diagnostic for module-level metadata mismatch 2018-10-09 01:17:27 +00:00
MC [Hexagon] Handle Hexagon's SHF_HEX_GPREL section flag 2018-11-09 14:17:27 +00:00
Object Revert "[MSP430] Add MC layer" 2018-11-08 16:21:29 +00:00
ObjectYAML [WebAssembly] Add shared memory support to limits field 2018-11-06 17:27:25 +00:00
OptRemarks Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
Option [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Passes [LoopUnroll] allow customization for new-pass-manager version of LoopUnroll 2018-10-31 14:33:14 +00:00
ProfileData Support for remapping profile data when symbols change, for sample-based 2018-10-10 21:31:01 +00:00
Support [VFS] Add "expand tilde" argument to getRealPath. 2018-11-09 00:26:10 +00:00
TableGen [TableGen] fix assert in !cast when used out of definition in a multiclass 2018-10-10 10:52:57 +00:00
Target [x86] try to form broadcast before widening shuffle elements 2018-11-09 14:54:58 +00:00
Testing Fix error with SmallString implicit conversion. 2018-09-06 22:47:32 +00:00
ToolDrivers [opt] Change the parameter of OptTable::PrintHelp from Name to Usage and don't append "[options] <inputs>" 2018-10-10 00:15:31 +00:00
Transforms Revert r346483: [CallSiteSplitting] Only record conditions up to the IDom(call site). 2018-11-09 13:28:58 +00:00
WindowsManifest Convert line endings of lib/WindowsManifest/CMakeLists.txt to unix. 2018-04-07 04:28:08 +00:00
XRay [XRay] Improve FDR trace handling and error messaging 2018-11-09 06:26:48 +00:00
CMakeLists.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00
LLVMBuild.txt Reland: [OptRemarks] Add library for parsing optimization remarks 2018-10-10 18:43:42 +00:00