summaryrefslogtreecommitdiff
path: root/include/llvm/IR/Intrinsics.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/IR/Intrinsics.h')
-rw-r--r--include/llvm/IR/Intrinsics.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/llvm/IR/Intrinsics.h b/include/llvm/IR/Intrinsics.h
index e12ccace25ca..01781d51bec1 100644
--- a/include/llvm/IR/Intrinsics.h
+++ b/include/llvm/IR/Intrinsics.h
@@ -52,6 +52,11 @@ namespace Intrinsic {
/// Returns true if the intrinsic can be overloaded.
bool isOverloaded(ID id);
+ /// Returns true if the intrinsic is a leaf, i.e. it does not make any calls
+ /// itself. Most intrinsics are leafs, the exceptions being the patchpoint
+ /// and statepoint intrinsics. These call (or invoke) their "target" argument.
+ bool isLeaf(ID id);
+
/// Return the attributes for an intrinsic.
AttributeSet getAttributes(LLVMContext &C, ID id);
@@ -121,8 +126,8 @@ namespace Intrinsic {
/// of IITDescriptors.
void getIntrinsicInfoTableEntries(ID id, SmallVectorImpl<IITDescriptor> &T);
-} // End Intrinsic namespace
+} // namespace Intrinsic
-} // End llvm namespace
+} // namespace llvm
#endif