mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
eliminate the last uses of GetConstantStringInfo from this file, I didn't realize I was that close...
llvm-svn: 149354
This commit is contained in:
parent
a71c1f9470
commit
3ca194bce8
@ -545,9 +545,9 @@ struct StrPBrkOpt : public LibCallOptimization {
|
|||||||
FT->getReturnType() != FT->getParamType(0))
|
FT->getReturnType() != FT->getParamType(0))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
std::string S1, S2;
|
StringRef S1, S2;
|
||||||
bool HasS1 = GetConstantStringInfo(CI->getArgOperand(0), S1);
|
bool HasS1 = getConstantStringInfo(CI->getArgOperand(0), S1);
|
||||||
bool HasS2 = GetConstantStringInfo(CI->getArgOperand(1), S2);
|
bool HasS2 = getConstantStringInfo(CI->getArgOperand(1), S2);
|
||||||
|
|
||||||
// strpbrk(s, "") -> NULL
|
// strpbrk(s, "") -> NULL
|
||||||
// strpbrk("", s) -> NULL
|
// strpbrk("", s) -> NULL
|
||||||
@ -694,9 +694,9 @@ struct StrStrOpt : public LibCallOptimization {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// See if either input string is a constant string.
|
// See if either input string is a constant string.
|
||||||
std::string SearchStr, ToFindStr;
|
StringRef SearchStr, ToFindStr;
|
||||||
bool HasStr1 = GetConstantStringInfo(CI->getArgOperand(0), SearchStr);
|
bool HasStr1 = getConstantStringInfo(CI->getArgOperand(0), SearchStr);
|
||||||
bool HasStr2 = GetConstantStringInfo(CI->getArgOperand(1), ToFindStr);
|
bool HasStr2 = getConstantStringInfo(CI->getArgOperand(1), ToFindStr);
|
||||||
|
|
||||||
// fold strstr(x, "") -> x.
|
// fold strstr(x, "") -> x.
|
||||||
if (HasStr2 && ToFindStr.empty())
|
if (HasStr2 && ToFindStr.empty())
|
||||||
@ -706,7 +706,7 @@ struct StrStrOpt : public LibCallOptimization {
|
|||||||
if (HasStr1 && HasStr2) {
|
if (HasStr1 && HasStr2) {
|
||||||
std::string::size_type Offset = SearchStr.find(ToFindStr);
|
std::string::size_type Offset = SearchStr.find(ToFindStr);
|
||||||
|
|
||||||
if (Offset == std::string::npos) // strstr("foo", "bar") -> null
|
if (Offset == StringRef::npos) // strstr("foo", "bar") -> null
|
||||||
return Constant::getNullValue(CI->getType());
|
return Constant::getNullValue(CI->getType());
|
||||||
|
|
||||||
// strstr("abcd", "bc") -> gep((char*)"abcd", 1)
|
// strstr("abcd", "bc") -> gep((char*)"abcd", 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user