aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2007-09-07 11:39:35 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2007-09-07 11:39:35 +0000
commit94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6 (patch)
tree71d3b284ef1e1fdc5c2bcdbe95ae203ab83072d1 /include
parentdf62edc6259244f01f165827d18c9badb29e1caa (diff)
downloadexternal_llvm-94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6.zip
external_llvm-94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6.tar.gz
external_llvm-94c46a0e5fae77e8e68c6d1abf442a1327bf1fb6.tar.bz2
Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register
liveins and we let frontend solve type issue, not lowering code :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41763 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Intrinsics.td12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td
index 6f21a1c..bb9e9c7 100644
--- a/include/llvm/Intrinsics.td
+++ b/include/llvm/Intrinsics.td
@@ -218,10 +218,14 @@ def int_dbg_declare : Intrinsic<[llvm_void_ty, llvm_descriptor_ty,
//===------------------ Exception Handling Intrinsics----------------------===//
//
-def int_eh_exception : Intrinsic<[llvm_ptr_ty]>;
-def int_eh_selector : Intrinsic<[llvm_i32_ty, llvm_ptr_ty, llvm_ptr_ty,
- llvm_vararg_ty]>;
-def int_eh_typeid_for : Intrinsic<[llvm_i32_ty, llvm_ptr_ty]>;
+def int_eh_exception : Intrinsic<[llvm_ptr_ty]>;
+def int_eh_selector_i32 : Intrinsic<[llvm_i32_ty, llvm_ptr_ty, llvm_ptr_ty,
+ llvm_vararg_ty]>;
+def int_eh_selector_i64 : Intrinsic<[llvm_i64_ty, llvm_ptr_ty, llvm_ptr_ty,
+ llvm_vararg_ty]>;
+
+def int_eh_typeid_for_i32 : Intrinsic<[llvm_i32_ty, llvm_ptr_ty]>;
+def int_eh_typeid_for_i64 : Intrinsic<[llvm_i64_ty, llvm_ptr_ty]>;
def int_eh_return : Intrinsic<[llvm_void_ty, llvm_i32_ty, llvm_ptr_ty]>,
GCCBuiltin<"__builtin_eh_return">;