summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/DataStructure/Local.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-11-08 21:08:28 +0000
committerChris Lattner <sabre@nondot.org>2004-11-08 21:08:28 +0000
commit1feea5ffc9d9f76c2511f76de1c5bcf3fc407d12 (patch)
treeb5f7c7f00b79d2190879bdfd2f42e28244616b1e /llvm/lib/Analysis/DataStructure/Local.cpp
parente97fc87e61233bbf6ba6782b6656b6ffd8d35eb3 (diff)
downloadbcm5719-llvm-1feea5ffc9d9f76c2511f76de1c5bcf3fc407d12.tar.gz
bcm5719-llvm-1feea5ffc9d9f76c2511f76de1c5bcf3fc407d12.zip
Handle assert_fail special
llvm-svn: 17631
Diffstat (limited to 'llvm/lib/Analysis/DataStructure/Local.cpp')
-rw-r--r--llvm/lib/Analysis/DataStructure/Local.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/DataStructure/Local.cpp b/llvm/lib/Analysis/DataStructure/Local.cpp
index 18e7df91455..cbdbb12d659 100644
--- a/llvm/lib/Analysis/DataStructure/Local.cpp
+++ b/llvm/lib/Analysis/DataStructure/Local.cpp
@@ -888,6 +888,13 @@ void GraphBuilder::visitCallSite(CallSite CS) {
if (DSNode *N = H.getNode())
N->setReadMarker();
return;
+ } else if (F->getName() == "__assert_fail") {
+ for (CallSite::arg_iterator AI = CS.arg_begin(), E = CS.arg_end();
+ AI != E; ++AI)
+ if (isPointerType((*AI)->getType()))
+ if (DSNode *N = getValueDest(**AI).getNode())
+ N->setReadMarker();
+ return;
} else if (F->getName() == "modf" && CS.arg_end()-CS.arg_begin() == 2) {
// This writes its second argument, and forces it to double.
DSNodeHandle H = getValueDest(**--CS.arg_end());
OpenPOWER on IntegriCloud