diff options
author | Chris Lattner <sabre@nondot.org> | 2004-03-15 04:18:28 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-03-15 04:18:28 +0000 |
commit | bbcc147220d885b129743c009c3e46a7a3d8ab2e (patch) | |
tree | c20049bbac324e612eda2597ca130d414d4b2bdd /lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 66d0884954a4d3caa8146b39fbb6e31af8304020 (diff) |
Fix a minor bug, implementing GCSE/call_pure_function.ll
Also, add some stuff I missed before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12417 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r-- | lib/Analysis/BasicAliasAnalysis.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp index 967b453ed5..9b6258edd3 100644 --- a/lib/Analysis/BasicAliasAnalysis.cpp +++ b/lib/Analysis/BasicAliasAnalysis.cpp @@ -186,9 +186,8 @@ BasicAliasAnalysis::getModRefInfo(CallSite CS, Value *P, unsigned Size) { return NoModRef; } - // If P points to a constant memory location, the call definitely could not - // modify the memory location. - return pointsToConstantMemory(P) ? Ref : ModRef; + // The AliasAnalysis base class has some smarts, lets use them. + return AliasAnalysis::getModRefInfo(CS, P, Size); } // alias - Provide a bunch of ad-hoc rules to disambiguate in common cases, such @@ -597,12 +596,16 @@ static const char *DoesntAccessMemoryTable[] = { "sin", "sinf", "sinl", "sinh", "sinhf", "sinhl", "tan", "tanf", "tanl", "tanh", "tanhf", "tanhl", + // ctype.h "isalnum", "isalpha", "iscntrl", "isdigit", "isgraph", "islower", "isprint" "ispunct", "isspace", "isupper", "isxdigit", "tolower", "toupper", + // wctype.h" "iswalnum", "iswalpha", "iswcntrl", "iswdigit", "iswgraph", "iswlower", "iswprint", "iswpunct", "iswspace", "iswupper", "iswxdigit", + "iswctype", "towctrans", "towlower", "towupper", + "btowc", "wctob", }; |