summaryrefslogtreecommitdiffstats
path: root/include/llvm/Intrinsics.h
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2007-12-03 20:06:50 +0000
committerDuncan Sands <baldrick@free.fr>2007-12-03 20:06:50 +0000
commita3355ffb3d30d19d226bbb75707991c60f236e37 (patch)
tree926575d8f1c3a0104fa7ea7236dd1842120e29cd /include/llvm/Intrinsics.h
parent4cf4b69330f0b2a3ba325bcdb1ff41847c022260 (diff)
downloadexternal_llvm-a3355ffb3d30d19d226bbb75707991c60f236e37.zip
external_llvm-a3355ffb3d30d19d226bbb75707991c60f236e37.tar.gz
external_llvm-a3355ffb3d30d19d226bbb75707991c60f236e37.tar.bz2
Rather than having special rules like "intrinsics cannot
throw exceptions", just mark intrinsics with the nounwind attribute. Likewise, mark intrinsics as readnone/readonly and get rid of special aliasing logic (which didn't use anything more than this anyway). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44544 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Intrinsics.h')
-rw-r--r--include/llvm/Intrinsics.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Intrinsics.h b/include/llvm/Intrinsics.h
index 3a97b33..4766250 100644
--- a/include/llvm/Intrinsics.h
+++ b/include/llvm/Intrinsics.h
@@ -22,6 +22,7 @@ class Type;
class FunctionType;
class Function;
class Module;
+class ParamAttrsList;
/// Intrinsic Namespace - This namespace contains an enum with a value for
/// every intrinsic/builtin function known by LLVM. These enum values are
@@ -46,6 +47,10 @@ namespace Intrinsic {
///
const FunctionType *getType(ID id, const Type **Tys = 0, unsigned numTys = 0);
+ /// Intrinsic::getParamAttrs(ID) - Return the attributes for an intrinsic.
+ ///
+ const ParamAttrsList *getParamAttrs(ID id);
+
/// Intrinsic::getDeclaration(M, ID) - Create or insert an LLVM Function
/// declaration for an intrinsic, and return it.
Function *getDeclaration(Module *M, ID id, const Type **Tys = 0,