[llvm-commits] [PATCH] Revised LandingPadInst Patch

Bill Wendling wendling at apple.com
Mon Aug 8 14:23:27 PDT 2011


This is the next iteration of the landingpad instruction patch. It incorporates the feedback from Chris and Duncan. Notably, the values that are stored are now "Value*"s instead of "Function*" or "Constant*". Duncan pointed out that bitcasts can get in the way of things.

I didn't explain the last patch well. The syntax allows for only one "type" per "catch" clause. However, the "filter" clause needs to allow for zero or more "types". This is because this filter:

	filter A, B, C

is different from this filter:

	filter A
	filter B
	filter C

The LandingPadInst has this ugly wart on it, namely the "Index" structure that Chris pointed out. I need a way to indicate the clause type for an object in the OperandList, it's index into that list, and how many "types" are associated with that. This is because of inlining. When we inline things, we are going to append the clauses to this list. And they need to be in the correct order so that the exception tables are generated correctly.

Please review and let me know what you think. Thanks!

-bw

-------------- next part --------------
A non-text attachment was scrubbed...
Name: landingpadinst.2.diff
Type: application/octet-stream
Size: 34897 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20110808/1f06ee2c/attachment.obj>
-------------- next part --------------




More information about the llvm-commits mailing list