summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-04-10 06:55:27 +0000
committerChris Lattner <sabre@nondot.org>2004-04-10 06:55:27 +0000
commit4a1b03c773fa74c221fec74db0b92ce23dc30d94 (patch)
tree9f1bb4bcf8930cfe8aa9e75c590019b5fb962012
parentcfa1adcdb827c67c4b08803e892d3c0bed92b5af (diff)
downloadbcm5719-llvm-4a1b03c773fa74c221fec74db0b92ce23dc30d94.tar.gz
bcm5719-llvm-4a1b03c773fa74c221fec74db0b92ce23dc30d94.zip
Add a couple of more functions that cannot access memory (the intrinsics) and
don't write to memory llvm-svn: 12808
-rw-r--r--llvm/lib/Analysis/BasicAliasAnalysis.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/BasicAliasAnalysis.cpp b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
index f9c63cd15ca..a68913574a9 100644
--- a/llvm/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/BasicAliasAnalysis.cpp
@@ -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 =
OpenPOWER on IntegriCloud