aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2012-01-31 05:09:17 +0000
committerChris Lattner <sabre@nondot.org>2012-01-31 05:09:17 +0000
commitf0e1053a63f5522ecfe1df8fe3ea07b24cb6b193 (patch)
treeeea416b68c4b99798e21d8cabd8ce82a6938fc85
parent2cf07eccff674b5157febbc4fb4f4246e47806c7 (diff)
downloadexternal_llvm-f0e1053a63f5522ecfe1df8fe3ea07b24cb6b193.zip
external_llvm-f0e1053a63f5522ecfe1df8fe3ea07b24cb6b193.tar.gz
external_llvm-f0e1053a63f5522ecfe1df8fe3ea07b24cb6b193.tar.bz2
remove the last vestiges of llvm::GetConstantStringInfo, in CodeGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149356 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Analysis/ValueTracking.h4
-rw-r--r--lib/Analysis/ValueTracking.cpp10
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAG.cpp11
3 files changed, 6 insertions, 19 deletions
diff --git a/include/llvm/Analysis/ValueTracking.h b/include/llvm/Analysis/ValueTracking.h
index 65c4e77..d994bc4 100644
--- a/include/llvm/Analysis/ValueTracking.h
+++ b/include/llvm/Analysis/ValueTracking.h
@@ -132,8 +132,8 @@ namespace llvm {
uint64_t Offset = 0);
// FIXME: Remove this.
- bool GetConstantStringInfo(const Value *V, std::string &Str,
- uint64_t Offset = 0);
+ // bool GetConstantStringInfo(const Value *V, std::string &Str,
+ // uint64_t Offset = 0);
/// GetStringLength - If we can compute the length of the string pointed to by
/// the specified pointer, return 'len+1'. If we can't, return 0.
diff --git a/lib/Analysis/ValueTracking.cpp b/lib/Analysis/ValueTracking.cpp
index d51d7f2..4c18bdf 100644
--- a/lib/Analysis/ValueTracking.cpp
+++ b/lib/Analysis/ValueTracking.cpp
@@ -1603,16 +1603,6 @@ Value *llvm::GetPointerBaseWithConstantOffset(Value *Ptr, int64_t &Offset,
}
-// FIXME: Remove this.
-bool llvm::GetConstantStringInfo(const Value *V, std::string &Str,
- uint64_t Offset) {
- StringRef Tmp;
- if (!getConstantStringInfo(V, Tmp, Offset))
- return false;
- Str = Tmp.str();
- return true;
-}
-
/// getConstantStringInfo - This function computes the length of a
/// null-terminated C string pointed to by V. If successful, it returns true
/// and returns the string in Str. If unsuccessful, it returns false.
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 6b6f7bf..fe1a861 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -3299,7 +3299,7 @@ static SDValue getMemsetValue(SDValue Value, EVT VT, SelectionDAG &DAG,
/// string ptr.
static SDValue getMemsetStringVal(EVT VT, DebugLoc dl, SelectionDAG &DAG,
const TargetLowering &TLI,
- std::string &Str, unsigned Offset) {
+ StringRef Str, unsigned Offset) {
// Handle vector with all elements zero.
if (Str.empty()) {
if (VT.isInteger())
@@ -3343,7 +3343,7 @@ static SDValue getMemBasePlusOffset(SDValue Base, unsigned Offset,
/// isMemSrcFromString - Returns true if memcpy source is a string constant.
///
-static bool isMemSrcFromString(SDValue Src, std::string &Str) {
+static bool isMemSrcFromString(SDValue Src, StringRef &Str) {
unsigned SrcDelta = 0;
GlobalAddressSDNode *G = NULL;
if (Src.getOpcode() == ISD::GlobalAddress)
@@ -3358,11 +3358,8 @@ static bool isMemSrcFromString(SDValue Src, std::string &Str) {
return false;
if (const GlobalVariable *GV = dyn_cast<GlobalVariable>(G->getGlobal()))
- if (GetConstantStringInfo(GV, Str, SrcDelta)) {
- // The nul can also be read.
- Str.push_back(0);
+ if (getConstantStringInfo(GV, Str, SrcDelta))
return true;
- }
return false;
}
@@ -3467,7 +3464,7 @@ static SDValue getMemcpyLoadsAndStores(SelectionDAG &DAG, DebugLoc dl,
unsigned SrcAlign = DAG.InferPtrAlignment(Src);
if (Align > SrcAlign)
SrcAlign = Align;
- std::string Str;
+ StringRef Str;
bool CopyFromStr = isMemSrcFromString(Src, Str);
bool isZeroStr = CopyFromStr && Str.empty();
unsigned Limit = AlwaysInline ? ~0U : TLI.getMaxStoresPerMemcpy(OptSize);