diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2007-09-07 11:39:35 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2007-09-07 11:39:35 +0000 |
commit | 8806c7b1f5317a9679a5779ffc08c552f2091bce (patch) | |
tree | 71d3b284ef1e1fdc5c2bcdbe95ae203ab83072d1 /include/llvm/Intrinsics.td | |
parent | 0fe4b5a113625f0b3f88a92ec8c482527b72af02 (diff) | |
download | external_llvm-8806c7b1f5317a9679a5779ffc08c552f2091bce.zip external_llvm-8806c7b1f5317a9679a5779ffc08c552f2091bce.tar.gz external_llvm-8806c7b1f5317a9679a5779ffc08c552f2091bce.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/llvm/Intrinsics.td')
-rw-r--r-- | include/llvm/Intrinsics.td | 12 |
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">; |