Holding my nose and moving the accumulation routine to GEPOperator
authorChandler Carruth <chandlerc@gmail.com>
Tue, 11 Dec 2012 11:05:15 +0000 (11:05 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 11 Dec 2012 11:05:15 +0000 (11:05 +0000)
commit7550f96b2f3a5e187f737ddad45563962fbd509c
tree4f8541a75b8fcd11c380a5148d41b9841d6f1a2d
parent4ced4ee94b59a2b239a59a2ae5fd373579868f20
Holding my nose and moving the accumulation routine to GEPOperator
instead of the instruction. I've left a forwarding wrapper for the
instruction so users with the instruction don't need to create
a GEPOperator themselves.

This lets us remove the copy of this code in instsimplify.

I've looked at most of the other copies of similar code, and this is the
only one I've found that is actually exactly the same. The one in
InlineCost is very close, but it requires re-mapping non-constant
indices through the cost analysis value simplification map. I could add
direct support for this to the generic routine, but it seems overly
specific.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169853 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Operator.h
lib/Analysis/InstructionSimplify.cpp
lib/VMCore/Instructions.cpp