summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-05-16 03:05:33 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-05-16 03:05:33 +0000
commit2050af838d717c1bc06fd1f340f8839c092e694a (patch)
tree72b3c2adee1a062bcfffbc9f3ff4e2985c705fe3 /llvm/include
parent93ecc368c12ee10d098ff26871178db83ddbf2de (diff)
downloadbcm5719-llvm-2050af838d717c1bc06fd1f340f8839c092e694a.tar.gz
bcm5719-llvm-2050af838d717c1bc06fd1f340f8839c092e694a.zip
Don't do tail calls in a function that call setjmp. The stack might be
corrupted when setjmp returns again. llvm-svn: 131399
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Function.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/include/llvm/Function.h b/llvm/include/llvm/Function.h
index 9a0825ab4a9..b34a6b25421 100644
--- a/llvm/include/llvm/Function.h
+++ b/llvm/include/llvm/Function.h
@@ -414,6 +414,10 @@ public:
///
bool hasAddressTaken(const User** = 0) const;
+ /// callsFunctionThatReturnsTwice - Return true if the function has a call to
+ /// setjmp or other function that gcc recognizes as "returning twice".
+ bool callsFunctionThatReturnsTwice() const;
+
private:
// Shadow Value::setValueSubclassData with a private forwarding method so that
// subclasses cannot accidentally use it.
OpenPOWER on IntegriCloud