[llvm-commits] CVS: llvm/lib/Analysis/BasicAliasAnalysis.cpp LoadValueNumbering.cpp

Chris Lattner lattner at cs.uiuc.edu
Mon Mar 15 21:42:01 PST 2004


Changes in directory llvm/lib/Analysis:

BasicAliasAnalysis.cpp updated: 1.34 -> 1.35
LoadValueNumbering.cpp updated: 1.16 -> 1.17

---
Log message:

Add some missing functions.  Make sure to handle calls together in case the
client has another VN implementation that can VN calls.


---
Diffs of the changes:  (+21 -3)

Index: llvm/lib/Analysis/BasicAliasAnalysis.cpp
diff -u llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.34 llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.35
--- llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.34	Sun Mar 14 22:18:28 2004
+++ llvm/lib/Analysis/BasicAliasAnalysis.cpp	Mon Mar 15 21:41:35 2004
@@ -607,6 +607,17 @@
   "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 @@
 
 
 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 =


Index: llvm/lib/Analysis/LoadValueNumbering.cpp
diff -u llvm/lib/Analysis/LoadValueNumbering.cpp:1.16 llvm/lib/Analysis/LoadValueNumbering.cpp:1.17
--- llvm/lib/Analysis/LoadValueNumbering.cpp:1.16	Sun Mar 14 23:44:59 2004
+++ llvm/lib/Analysis/LoadValueNumbering.cpp	Mon Mar 15 21:41:35 2004
@@ -247,7 +247,7 @@
 
   if (!isa<LoadInst>(V)) {
     if (CallInst *CI = dyn_cast<CallInst>(V))
-      return getCallEqualNumberNodes(CI, RetVals);
+      getCallEqualNumberNodes(CI, RetVals);
 
     // Not a load instruction?  Just chain to the base value numbering
     // implementation to satisfy the request...





More information about the llvm-commits mailing list