reapply the patches reverted in r149470 that reenable ConstantDataArray,
authorChris Lattner <sabre@nondot.org>
Sun, 5 Feb 2012 02:29:43 +0000 (02:29 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 5 Feb 2012 02:29:43 +0000 (02:29 +0000)
commit18c7f80b3e83ab584bd8572695a3cde8bafd9d3c
tree93b57cd1b5fb8fa1e48c06e4bef7571f02603243
parenteea723fe02edba0a1215fa235ba425ae93202dc9
reapply the patches reverted in r149470 that reenable ConstantDataArray,
but with a critical fix to the SelectionDAG code that optimizes copies
from strings into immediate stores: the previous code was stopping reading
string data at the first nul.  Address this by adding a new argument to
llvm::getConstantStringInfo, preserving the behavior before the patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149800 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
include/llvm/Analysis/ValueTracking.h
include/llvm/Constants.h
lib/Analysis/ConstantFolding.cpp
lib/Analysis/ValueTracking.cpp
lib/AsmParser/LLParser.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/Bitcode/Writer/ValueEnumerator.cpp
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/Target/CBackend/CBackend.cpp
lib/Target/CppBackend/CPPBackend.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp
lib/Transforms/Scalar/SimplifyLibCalls.cpp
lib/VMCore/AsmWriter.cpp
lib/VMCore/Constants.cpp
lib/VMCore/Core.cpp
lib/VMCore/IRBuilder.cpp
tools/bugpoint/Miscompilation.cpp
tools/lto/LTOModule.cpp