[llvm-dev] `llvm.experimental.stackmap` is erroneously marked `Throws`?
I've recently been experimenting with stackmaps as part of a research
project, and I think I may have found a problem.
In short, should `llvm.experimental.stackmap` be marked as `Throws` as
it currently is? When it is marked in this way, it seems possible for
optimisation passes, when inlining, to change calls to invokes,
resulting in errors like this:
Cannot invoke an intrinsic other than donothing, patchpoint, statepoint, coro_resume or coro_destroy
invoke void (i64, i32, ...%) @llvm.experimental.stackmap(i64 1, i32 0)
to label 13