llvm-project/llvm/test
Silviu Baranga b892e35520 [InstCombine] Teach instcombine not to create extra PHI nodes when folding GEPs
Summary:
InstCombine tries to transform GEP(PHI(GEP1, GEP2, ..)) into GEP(GEP(PHI(...))
when possible. However, this may leave the old PHI node around. Even if we
do end up folding the GEPs, having an extra PHI node might not be beneficial.

This change makes the transformation more conservative. We now only do this if
the PHI has only one use, and can therefore be removed after the transformation.

Reviewers: jmolloy, majnemer

Subscribers: mcrosier, mssimpso, llvm-commits

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

llvm-svn: 251281
2015-10-26 10:25:05 +00:00
..
Analysis [BasicAA] Bugfix for r251016 2015-10-23 14:17:03 +00:00
Assembler [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
Bindings Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00
Bitcode Fix PR25101 - Handle anonymous functions without VST entries 2015-10-10 14:18:36 +00:00
BugPoint Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
CodeGen [ARM] Handle the inline asm constraint type 'o' 2015-10-26 10:04:52 +00:00
DebugInfo s/NumFiles/NumStreams/ 2015-10-15 01:39:00 +00:00
Examples Disable llvm/test/Examples/ for now while investigating. 2015-08-28 03:32:43 +00:00
ExecutionEngine [RuntimeDyld][COFF] Fix a think-o in the handling of the IMAGE_REL_AMD64_ADDR64 2015-10-23 18:46:43 +00:00
Feature [Inliner] Don't inline through callsites with operand bundles 2015-10-23 20:09:55 +00:00
FileCheck
Instrumentation [ASan] Minor fixes to dynamic allocas handling: 2015-10-22 19:51:59 +00:00
Integer
JitListener DI: Require subprogram definitions to be distinct 2015-08-28 20:26:49 +00:00
LTO Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
LibDriver
Linker Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
MC Update test to take into account for r251271. 2015-10-26 03:34:29 +00:00
Object [AVR] Add ELF constants to headers 2015-10-23 06:05:55 +00:00
Other Make the default triple optional by allowing an empty string 2015-09-16 05:34:32 +00:00
SymbolRewriter [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
TableGen [TableGen] Allow TokenTy in intrinsic signatures 2015-09-02 13:36:25 +00:00
Transforms [InstCombine] Teach instcombine not to create extra PHI nodes when folding GEPs 2015-10-26 10:25:05 +00:00
Unit
Verifier Add verification for align, dereferenceable, dereferenceable_or_null load metadata 2015-10-09 17:41:29 +00:00
YAMLParser
tools Backing out commit r250906 as it broke lld. 2015-10-21 17:13:20 +00:00
.clang-format
CMakeLists.txt [CMake] check-llvm requires llvm-pdbdump. 2015-10-15 13:22:38 +00:00
Makefile Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00
Makefile.tests
TestRunner.sh
lit.cfg Suppress LLVM::tools/llvm-symbolizer/coff-dwarf.test for mingw, for now. 2015-10-10 02:57:02 +00:00
lit.site.cfg.in Add a way to skip the Go bindings tests even when Go is configured in 2015-09-10 05:47:43 +00:00