Revamp the ValueMapper interfaces in a couple ways:
authorChris Lattner <sabre@nondot.org>
Sat, 8 Jan 2011 08:15:20 +0000 (08:15 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 8 Jan 2011 08:15:20 +0000 (08:15 +0000)
commitb5fa5fcecc97168a72c9533c84cf297c018b957c
tree97da777385f85e2d44f4a227621348056e460aa7
parent6ccb3652933bcdede2b2a53cf76ddd56ce9592a2
Revamp the ValueMapper interfaces in a couple ways:

1. Take a flags argument instead of a bool.  This makes
   it more clear to the reader what it is used for.
2. Add a flag that says that "remapping a value not in the
   map is ok".
3. Reimplement MapValue to share a bunch of code and be a lot
   more efficient.  For lookup failures, don't drop null values
   into the map.
4. Using the new flag a bunch of code can vaporize in LinkModules
   and LoopUnswitch, kill it.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123058 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/ValueMapper.h
lib/Linker/LinkModules.cpp
lib/Transforms/Scalar/LoopRotation.cpp
lib/Transforms/Scalar/LoopUnswitch.cpp
lib/Transforms/Utils/CloneFunction.cpp
lib/Transforms/Utils/CloneModule.cpp
lib/Transforms/Utils/ValueMapper.cpp