[llvm] r328678 - [WebAssembly] Add exception and selector intrinsics

Heejin Ahn via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 27 16:37:07 PDT 2018


Author: aheejin
Date: Tue Mar 27 16:37:07 2018
New Revision: 328678

URL: http://llvm.org/viewvc/llvm-project?rev=328678&view=rev
Log:
[WebAssembly] Add exception and selector intrinsics

Summary:
Since wasm EH does not use landingpad instructions, these instructions
provide exception pointer and selector values until we lower them in
WasmEHPrepare.

Reviewers: jgravelle-google

Subscribers: jfb, sbc100, jgravelle-google, sunfish, llvm-commits

Differential Revision: https://reviews.llvm.org/D44930

Modified:
    llvm/trunk/include/llvm/IR/IntrinsicsWebAssembly.td

Modified: llvm/trunk/include/llvm/IR/IntrinsicsWebAssembly.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/IntrinsicsWebAssembly.td?rev=328678&r1=328677&r2=328678&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/IntrinsicsWebAssembly.td (original)
+++ llvm/trunk/include/llvm/IR/IntrinsicsWebAssembly.td Tue Mar 27 16:37:07 2018
@@ -39,4 +39,10 @@ def int_wasm_grow_memory : Intrinsic<[ll
 def int_wasm_throw : Intrinsic<[], [llvm_i32_ty, llvm_ptr_ty],
                                [Throws, IntrNoReturn]>;
 def int_wasm_rethrow : Intrinsic<[], [], [Throws, IntrNoReturn]>;
+
+// Since wasm does not use landingpad instructions, these instructions return
+// exception pointer and selector values until we lower them in WasmEHPrepare.
+def int_wasm_get_exception : Intrinsic<[llvm_ptr_ty], [], [IntrHasSideEffects]>;
+def int_wasm_get_ehselector : Intrinsic<[llvm_i32_ty], [],
+                                        [IntrHasSideEffects]>;
 }




More information about the llvm-commits mailing list