summaryrefslogtreecommitdiff
path: root/include/llvm/Intrinsics.td
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-05-27 18:52:11 +0000
committerJim Grosbach <grosbach@apple.com>2010-05-27 18:52:11 +0000
commit084fb0ea3246300aa81dd2561ce4d84401b74792 (patch)
tree27c54bdc80bc2986f60278f2e216695387ca3c4b /include/llvm/Intrinsics.td
parent4d3d6e1a0c99e2212953a90185a8d027c595bf5a (diff)
downloadllvm-084fb0ea3246300aa81dd2561ce4d84401b74792.tar.gz
llvm-084fb0ea3246300aa81dd2561ce4d84401b74792.tar.bz2
llvm-084fb0ea3246300aa81dd2561ce4d84401b74792.tar.xz
hook ISD::STACKADDR to an intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104869 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Intrinsics.td')
-rw-r--r--include/llvm/Intrinsics.td5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index 444f514d59..42c16c34ac 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -197,12 +197,13 @@ def int_gcwrite : Intrinsic<[],
def int_returnaddress : Intrinsic<[llvm_ptr_ty], [llvm_i32_ty], [IntrNoMem]>;
def int_frameaddress : Intrinsic<[llvm_ptr_ty], [llvm_i32_ty], [IntrNoMem]>;
-// Note: we treat stacksave/stackrestore as writemem because we don't otherwise
-// model their dependencies on allocas.
+// Note: we treat stacksave/stackrestore and stackaddr as writemem because we
+// don't otherwise model their dependencies on allocas.
def int_stacksave : Intrinsic<[llvm_ptr_ty]>,
GCCBuiltin<"__builtin_stack_save">;
def int_stackrestore : Intrinsic<[], [llvm_ptr_ty]>,
GCCBuiltin<"__builtin_stack_restore">;
+def int_stackaddress : Intrinsic<[llvm_ptr_ty], []>;
// IntrWriteArgMem is more pessimistic than strictly necessary for prefetch,
// however it does conveniently prevent the prefetch from being reordered