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)
commit7ec41c782772d53c63d828850ee681eaaa074ce7
tree9e931b8a5a9014bf090cace123a92971c28ee04a
parent1e14053d84bc31f0f3cecf21816a4733f952be68
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.

llvm-svn: 169853
llvm/include/llvm/Operator.h
llvm/lib/Analysis/InstructionSimplify.cpp
llvm/lib/VMCore/Instructions.cpp