1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/lib
Florian Hahn 75fa314f27 [InstCombine] Fold insert sequence if first ins has multiple users.
Summary:
If the first insertelement instruction has multiple users and inserts at
position 0, we can re-use this instruction when folding a chain of
insertelement instructions. As we need to generate the first
insertelement instruction anyways, this should be a strict improvement.

We could get rid of the restriction of inserting at position 0 by
creating a different shufflemask, but it is probably worth to keep the
first insertelement instruction with position 0, as this is easier to do
efficiently than at other positions I think.

Reviewers: grosser, mkuper, fpetrogalli, efriedma

Reviewed By: fpetrogalli

Subscribers: gareevroman, llvm-commits

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

llvm-svn: 312110
2017-08-30 10:54:21 +00:00
..
Analysis Remove an unnecessary const_cast. 2017-08-28 23:00:13 +00:00
AsmParser Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode Move helper classes into anonymous namespaces. 2017-08-20 13:03:48 +00:00
CodeGen [codeview] add missing break in CodeGen/AsmPrinter/DebugHandlerBase.cpp 2017-08-29 22:54:31 +00:00
DebugInfo [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine [Orc] Fix member variable ordering issue in OrcMCJITReplacement. 2017-08-30 00:47:42 +00:00
Fuzzer Moving libFuzzer from LLVM to compiler-rt. 2017-08-21 23:25:12 +00:00
FuzzMutate Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00
IR [PGO] Fixed non-determinism with DenseSet storing function importing info. 2017-08-29 17:13:24 +00:00
IRReader
LineEditor
Linker Linker: Create a function declaration when moving a non-prevailing alias of function type. 2017-08-10 01:07:44 +00:00
LTO Fix thinlto cache key computation for cfi-icall. 2017-08-09 23:24:07 +00:00
MC Untabify. 2017-08-28 06:47:47 +00:00
Object Untabify. 2017-08-28 06:47:47 +00:00
ObjectYAML Move helper classes into anonymous namespaces. 2017-08-20 13:03:48 +00:00
Option Revert "Revert r311552: [Bash-autocompletion] Add support for static analyzer flags" 2017-08-29 00:09:31 +00:00
Passes [PM] Switch the CGSCC debug messages to use the standard LLVM debug 2017-08-11 05:47:13 +00:00
ProfileData Fix the bug when SampleProfileWriter writes out number of callsites. 2017-08-03 00:09:18 +00:00
Support Untabify. 2017-08-28 06:47:47 +00:00
TableGen Untabify. 2017-08-28 06:47:47 +00:00
Target [AArch64] allow v4f16 types when FullFP16 is supported 2017-08-30 08:38:13 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers NFC: fix ToolDrivers syntax and typo errors 2017-08-23 02:10:28 +00:00
Transforms [InstCombine] Fold insert sequence if first ins has multiple users. 2017-08-30 10:54:21 +00:00
WindowsManifest Integrate manifest merging library into LLD. 2017-08-22 03:15:28 +00:00
XRay [XRay][tools] Support new kinds of instrumentation map entries 2017-08-21 00:14:06 +00:00
CMakeLists.txt Moving libFuzzer from LLVM to compiler-rt. 2017-08-21 23:25:12 +00:00
LLVMBuild.txt Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00