llvm-6502/test
Louis Gerbarg 2d1fa5f718 Add support for combining GEPs across PHI nodes
Currently LLVM will generally merge GEPs. This allows backends to use more
complex addressing modes. In some cases this is not happening because there
is PHI inbetween the two GEPs:

  GEP1--\
        |-->PHI1-->GEP3
  GEP2--/

This patch checks to see if GEP1 and GEP2 are similiar enough that they can be
cloned (GEP12) in GEP3's BB, allowing GEP->GEP merging (GEP123):

  GEP1--\                     --\                           --\
        |-->PHI1-->GEP3  ==>    |-->PHI2->GEP12->GEP3 == >    |-->PHI2->GEP123
  GEP2--/                     --/                           --/

This also breaks certain use chains that are preventing GEP->GEP merges that the
the existing instcombine would merge otherwise.

Tests included.

rdar://15547484

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209049 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-16 23:47:24 +00:00
..
Analysis Added tests for the cost of lowering VSELECT instructions. 2014-05-16 22:47:58 +00:00
Assembler Fix most of PR10367. 2014-05-16 19:35:39 +00:00
Bindings
Bitcode Fix most of PR10367. 2014-05-16 19:35:39 +00:00
BugPoint
CodeGen Implemented special cases for PerformVSELECTCombine. 2014-05-16 22:47:54 +00:00
DebugInfo DebugInfo: Handle emitting constants of C++ unicode character type. 2014-05-16 21:53:09 +00:00
ExecutionEngine
Feature Fix most of PR10367. 2014-05-16 19:35:39 +00:00
FileCheck
Instrumentation [asan] Set debug location in ASan function prologue. 2014-05-14 10:30:15 +00:00
Integer
JitListener
Linker Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
LTO IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
MC Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
Object [yaml2obj][ELF] Add an optional Size field to the YAML section declaration. 2014-05-16 16:01:00 +00:00
Other Fix most of PR10367. 2014-05-16 19:35:39 +00:00
TableGen test/TableGen: Remove XFAIL:vg_leak out of 3 tests corresponding to r208293. 2014-05-09 08:18:33 +00:00
tools ProfileData: Allow multiple profiles in RawInstrProfReader 2014-05-16 00:38:00 +00:00
Transforms Add support for combining GEPs across PHI nodes 2014-05-16 23:47:24 +00:00
Unit
Verifier Add comdat key field to llvm.global_ctors and llvm.global_dtors 2014-05-16 20:39:27 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg [Test] Remove c-index-test from the list of substitutions 2014-05-07 18:16:02 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh