aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/BasicAliasAnalysis.cpp
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
commitb903fc5c1b62ebf7f9339d63a623596be792ef00 (patch)
tree643ee26f9b5ef61964842e1550f52efebd4adaac /lib/Analysis/BasicAliasAnalysis.cpp
parentede6ac60a542f597c2659b138ffd0918cc8e8f47 (diff)
Add a couple of more functions that cannot access memory (the intrinsics) and
don't write to memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12808 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BasicAliasAnalysis.cpp')
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index f9c63cd15c..a68913574a 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/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 =