Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp.
authorChris Lattner <sabre@nondot.org>
Mon, 10 Dec 2007 22:53:04 +0000 (22:53 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 10 Dec 2007 22:53:04 +0000 (22:53 +0000)
commitf286f6fd93d569befe6e77c94a947e6e04e95685
tree400c56bd0a897bc94b6b69e53505a2d1074cdb57
parent9324665a7845d6ffd23e3bd53443d28cbf2e75fa
Fix PR1850 by removing an unsafe transformation from VMCore/ConstantFold.cpp.
Reimplement the xform in Analysis/ConstantFolding.cpp where we can use
targetdata to validate that it is safe.  While I'm in there, fix some const
correctness issues and generalize the interface to the "operand folder".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44817 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/ConstantFolding.h
lib/Analysis/ConstantFolding.cpp
lib/Analysis/ScalarEvolution.cpp
lib/Transforms/Utils/CloneFunction.cpp
lib/VMCore/ConstantFold.cpp
test/Assembler/ConstantExprFold.llx
test/Transforms/InstCombine/2007-12-10-ConstFoldCompare.ll [new file with mode: 0644]