Add a couple of more functions that cannot access memory (the intrinsics) and
authorChris Lattner <sabre@nondot.org>
Sat, 10 Apr 2004 06:55:27 +0000 (06:55 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 10 Apr 2004 06:55:27 +0000 (06:55 +0000)
don't write to memory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12808 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/BasicAliasAnalysis.cpp

index f9c63cd15cab164ea42553ddaa99e1d8e6f2a684..a68913574a9a162897bef932ab1cd28d92d5bf33 100644 (file)
@@ -606,6 +606,9 @@ namespace {
 // Note that this list cannot contain libm functions (such as acos and sqrt)
 // that set errno on a domain or other error.
 static const char *DoesntAccessMemoryTable[] = {
+  // LLVM intrinsics:
+  "llvm.frameaddress", "llvm.returnaddress", "llvm.readport",
+
   "abs", "labs", "llabs", "imaxabs", "fabs", "fabsf", "fabsl",
   "trunc", "truncf", "truncl", "ldexp",
   
@@ -685,6 +688,10 @@ static const char *OnlyReadsMemoryTable[] = {
 
   // C99
   "nan", "nanf", "nand",
+
+  // File I/O
+  "feof", "ferror", "fileno",
+  "feof_unlocked", "ferror_unlocked", "fileno_unlocked"
 };
 
 static const unsigned ORMTableSize =