summaryrefslogtreecommitdiff
path: root/lib/Analysis/BasicAliasAnalysis.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-03-16 03:41:35 +0000
committerChris Lattner <sabre@nondot.org>2004-03-16 03:41:35 +0000
commit002be767333e4253df6c5477dda28890dbd3488c (patch)
tree50466f9feead43e90d95dbb628702d9d33ff9d15 /lib/Analysis/BasicAliasAnalysis.cpp
parent002dbddccdce9422ed4aa53ad1102bda154237fa (diff)
downloadllvm-002be767333e4253df6c5477dda28890dbd3488c.tar.gz
llvm-002be767333e4253df6c5477dda28890dbd3488c.tar.bz2
llvm-002be767333e4253df6c5477dda28890dbd3488c.tar.xz
Add some missing functions. Make sure to handle calls together in case the
client has another VN implementation that can VN calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12427 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index 9b6258edd3..4a8a680364 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -607,6 +607,17 @@ static const char *DoesntAccessMemoryTable[] = {
"iswctype", "towctrans", "towlower", "towupper",
"btowc", "wctob",
+
+ "isinf", "isnan", "finite",
+
+ // C99 math functions
+ "copysign", "copysignf", "copysignd",
+ "nexttoward", "nexttowardf", "nexttowardd",
+ "nextafter", "nextafterf", "nextafterd",
+
+ // glibc functions:
+ "__fpclassify", "__fpclassifyf", "__fpclassifyl",
+ "__signbit", "__signbitf", "__signbitl",
};
static const unsigned DAMTableSize =
@@ -636,16 +647,23 @@ bool BasicAliasAnalysis::doesNotAccessMemory(Function *F) {
static const char *OnlyReadsMemoryTable[] = {
- "atoi", "atol", "atof", "atoll", "atoq",
- "bcmp", "memcmp", "memchr", "wmemcmp", "wmemchr",
+ "atoi", "atol", "atof", "atoll", "atoq", "a64l",
+ "bcmp", "memcmp", "memchr", "memrchr", "wmemcmp", "wmemchr",
// Strings
"strcmp", "strcasecmp", "strcoll", "strncmp", "strncasecmp",
"strchr", "strcspn", "strlen", "strpbrk", "strrchr", "strspn", "strstr",
+ "index", "rindex",
// Wide char strings
"wcschr", "wcscmp", "wcscoll", "wcscspn", "wcslen", "wcsncmp", "wcspbrk",
"wcsrchr", "wcsspn", "wcsstr",
+
+ // glibc
+ "alphasort", "alphasort64", "versionsort", "versionsort64",
+
+ // C99
+ "nan", "nanf", "nand",
};
static const unsigned ORMTableSize =