[PATCH] [PATCH 1/2] Add a "probe-stack" attribute
John Kåre Alsaker
john.mailinglists at gmail.com
Mon May 11 21:26:02 PDT 2015
No.
http://reviews.llvm.org/D9653
Files:
lib/Transforms/IPO/Inliner.cpp
test/Transforms/Inline/inline-probe-stack.ll
Index: lib/Transforms/IPO/Inliner.cpp
===================================================================
--- lib/Transforms/IPO/Inliner.cpp
+++ lib/Transforms/IPO/Inliner.cpp
@@ -132,6 +132,12 @@
AdjustCallerSSPLevel(Caller, Callee);
+ // If the callee requires stack probes, we ensure that the caller will
+ // require those too
+ if (Callee->hasFnAttribute("probe-stack")) {
+ Caller->addFnAttr("probe-stack");
+ }
+
// Look at all of the allocas that we inlined through this call site. If we
// have already inlined other allocas through other calls into this function,
// then we know that they have disjoint lifetimes and that we can merge them.
Index: test/Transforms/Inline/inline-probe-stack.ll
===================================================================
--- /dev/null
+++ test/Transforms/Inline/inline-probe-stack.ll
@@ -0,0 +1,12 @@
+; RUN: opt %s -inline -S | FileCheck %s
+
+define internal void @inner() "probe-stack" {
+ ret void
+}
+
+define void @outer() {
+ call void @inner()
+ ret void
+}
+; CHECK: define void @outer() #0
+; CHECK: attributes #0 = { "probe-stack" }
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D9653.25548.patch
Type: text/x-patch
Size: 1122 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150512/5044c2df/attachment.bin>
More information about the llvm-commits
mailing list