llvm/test
Silviu Baranga ebacf44320 [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251281 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-26 10:25:05 +00:00
..
Analysis [BasicAA] Bugfix for r251016 2015-10-23 14:17:03 +00:00
Assembler
Bindings
Bitcode
BugPoint
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
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
LibDriver
Linker
LTO
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
SymbolRewriter
TableGen
tools Backing out commit r250906 as it broke lld. 2015-10-21 17:13:20 +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
YAMLParser
.clang-format
CMakeLists.txt [CMake] check-llvm requires llvm-pdbdump. 2015-10-15 13:22:38 +00:00
lit.cfg
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh