[PATCH] D72006: [MLIR] Added llvm.invoke and llvm.landingpad

River Riddle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 31 01:49:13 PST 2019


rriddle added a comment.

In D72006#1799769 <https://reviews.llvm.org/D72006#1799769>, @ftynse wrote:

> > For 2. I would remove the attributes and just do the same thing that LLVM does, i.e. if the type is an Array it is a filter. I don't see a reason why attributes are necessary on top of that.
>
> Does anything preclude catch type from being an array type, in theory? (In C++, it's a pointer to a `std::type_info`, but we should not be limited to that)


Langref doesn't outright state it as far as I can remember, but this has always been a constraint(from the point landing pad was added, ~9 years). You could try to use an Array for catch, but it would require some amount of changes to LLVM(i.e. removing baked-in assumptions) to get it to work.
https://github.com/llvm/llvm-project/blob/4f82af81a04d711721300f6ca32f402f2ea6faf4/llvm/include/llvm/IR/Instructions.h#L2866


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72006/new/

https://reviews.llvm.org/D72006





More information about the llvm-commits mailing list